feat: added tunnels game mode
This commit is contained in:
parent
1fbba7b665
commit
d456634061
38
src/tunnels_game_state.cpp
Normal file
38
src/tunnels_game_state.cpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
#include "tunnels_game_state.hpp"
|
||||
#include "character_data.hpp"
|
||||
#include "utils/godot_macros.h"
|
||||
#include <godot_cpp/variant/array.hpp>
|
||||
|
||||
namespace godot {
|
||||
void TunnelsGameState::_bind_methods() {
|
||||
#define CLASSNAME TunnelsGameState
|
||||
GDPROPERTY_HINTED(weapons, Variant::ARRAY, PROPERTY_HINT_ARRAY_TYPE, GDRESOURCETYPE(WeaponData));
|
||||
GDPROPERTY_HINTED(characters, Variant::ARRAY, PROPERTY_HINT_ARRAY_TYPE, GDRESOURCETYPE(CharacterData));
|
||||
}
|
||||
|
||||
void TunnelsGameState::set_weapons(Array weapons) {
|
||||
this->weapons.clear();
|
||||
for(size_t i = 0; i < weapons.size(); ++i)
|
||||
this->weapons.push_back(weapons[i]);
|
||||
}
|
||||
|
||||
Array TunnelsGameState::get_weapons() const {
|
||||
Array array{};
|
||||
for(Ref<WeaponData> weapon : this->weapons)
|
||||
array.push_back(weapon);
|
||||
return array;
|
||||
}
|
||||
|
||||
void TunnelsGameState::set_characters(Array characters) {
|
||||
this->characters.clear();
|
||||
for(size_t i = 0; i < characters.size(); ++i)
|
||||
this->characters.push_back(characters[i]);
|
||||
}
|
||||
|
||||
Array TunnelsGameState::get_characters() const {
|
||||
Array array{};
|
||||
for(Ref<CharacterData> character : this->characters)
|
||||
array.push_back(character);
|
||||
return array;
|
||||
}
|
||||
}
|
24
src/tunnels_game_state.hpp
Normal file
24
src/tunnels_game_state.hpp
Normal file
|
@ -0,0 +1,24 @@
|
|||
#ifndef TUNNELS_GAME_STATE_HPP
|
||||
#define TUNNELS_GAME_STATE_HPP
|
||||
|
||||
#include "character_data.hpp"
|
||||
#include "utils/game_state.hpp"
|
||||
#include "weapon_data.hpp"
|
||||
#include <godot_cpp/templates/vector.hpp>
|
||||
|
||||
namespace godot {
|
||||
class TunnelsGameState : public GameState {
|
||||
GDCLASS(TunnelsGameState, GameState);
|
||||
static void _bind_methods();
|
||||
public:
|
||||
void set_weapons(Array weapons);
|
||||
Array get_weapons() const;
|
||||
void set_characters(Array characters);
|
||||
Array get_characters() const;
|
||||
private:
|
||||
Vector<Ref<WeaponData>> weapons{};
|
||||
Vector<Ref<CharacterData>> characters{};
|
||||
};
|
||||
}
|
||||
|
||||
#endif // !TUNNELS_GAME_STATE_HPP
|
Loading…
Reference in a new issue