feat: added character_type to CharacterActor
This commit is contained in:
		
							parent
							
								
									8366d5b5df
								
							
						
					
					
						commit
						d5a6aec9d1
					
				|  | @ -17,6 +17,7 @@ void CharacterActor::_bind_methods() { | ||||||
| #define CLASSNAME CharacterActor | #define CLASSNAME CharacterActor | ||||||
|     GDPROPERTY_HINTED(rotation_speed_curve, Variant::OBJECT, PROPERTY_HINT_RESOURCE_TYPE, "Curve"); |     GDPROPERTY_HINTED(rotation_speed_curve, Variant::OBJECT, PROPERTY_HINT_RESOURCE_TYPE, "Curve"); | ||||||
|     GDPROPERTY_HINTED(target, Variant::OBJECT, PROPERTY_HINT_NODE_TYPE, "Node"); |     GDPROPERTY_HINTED(target, Variant::OBJECT, PROPERTY_HINT_NODE_TYPE, "Node"); | ||||||
|  |     GDPROPERTY_HINTED(character_type, Variant::INT, PROPERTY_HINT_ENUM, "Neutral,Player,Enemy"); | ||||||
|     GDPROPERTY(acceleration, Variant::FLOAT); |     GDPROPERTY(acceleration, Variant::FLOAT); | ||||||
|     GDPROPERTY(walk_speed, Variant::FLOAT); |     GDPROPERTY(walk_speed, Variant::FLOAT); | ||||||
|     GDPROPERTY(sprint_speed, Variant::FLOAT); |     GDPROPERTY(sprint_speed, Variant::FLOAT); | ||||||
|  | @ -195,6 +196,15 @@ void CharacterActor::set_state(goap::State state) { | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void CharacterActor::set_character_type(int character_type) { | ||||||
|  |     this->character_type = static_cast<CharacterType>(character_type); | ||||||
|  |     UtilityFunctions::print("set_character_type ", character_type); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int CharacterActor::get_character_type() const { | ||||||
|  |     return static_cast<int>(this->character_type); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void CharacterActor::process_behaviour(double delta_time) { | void CharacterActor::process_behaviour(double delta_time) { | ||||||
|     if(this->current_state.is_complete(this) || this->planner->is_action_complete()) |     if(this->current_state.is_complete(this) || this->planner->is_action_complete()) | ||||||
|         this->set_state(this->planner->get_next_state()); |         this->set_state(this->planner->get_next_state()); | ||||||
|  |  | ||||||
|  | @ -70,7 +70,9 @@ public: | ||||||
|     Node *get_target() const; |     Node *get_target() const; | ||||||
|     goap::Planner *get_planner() const; |     goap::Planner *get_planner() const; | ||||||
|     void set_state(goap::State state); |     void set_state(goap::State state); | ||||||
| 
 |     void set_character_type(int character_type); | ||||||
|  |     int get_character_type() const; | ||||||
|  |     // character settings
 | ||||||
|     void set_acceleration(float acceleration); |     void set_acceleration(float acceleration); | ||||||
|     float get_acceleration() const; |     float get_acceleration() const; | ||||||
|     void set_walk_speed(float walk_speed); |     void set_walk_speed(float walk_speed); | ||||||
|  | @ -113,6 +115,8 @@ private: | ||||||
|     Ref<CharacterData> data; |     Ref<CharacterData> data; | ||||||
|     float fire_interval{0.f}; // derived from 1 / the current weapon's rps
 |     float fire_interval{0.f}; // derived from 1 / the current weapon's rps
 | ||||||
| 
 | 
 | ||||||
|  |     CharacterType character_type{CharacterType::NEUTRAL}; | ||||||
|  | 
 | ||||||
|     float acceleration{20.f}; |     float acceleration{20.f}; | ||||||
|     float walk_speed{3.f}; |     float walk_speed{3.f}; | ||||||
|     float sprint_speed{5.f}; |     float sprint_speed{5.f}; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Sara
						Sara