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
	
	 Sara
						Sara