3 #include <glm/gtx/vector_angle.hpp> 19 Eagle(
const glm::mat4 &matrix,
const std::string &filePath);
22 virtual void update(
float timeDelta,
const glm::vec3 &targetPos_,
bool targetHidden_,
bool targetDefenseActive_);
41 const float EAT_RADIUS = 1.0f;
42 const float TARGET_DEFENSE_REACH_RADIUS = 13.0f;
45 const float ATTACK_WAIT_TIME_MIN = 15.0f;
47 const float ATTACK_WAIT_TIME_MAX = 25.0f;
49 glm::mat4 eagleInitTransform;
50 EagleState state = CIRCLING;
52 float totalTimePassed = 0;
53 float timeSinceLastAttack = 0;
54 float timeIntervalToNextAttack = ATTACK_WAIT_TIME_MIN;
57 bool targetHidden =
false;
58 bool targetDefenseActive =
false;
bool isTargetEaten()
Check whether the target is in EAT_RADIUS of the eagle.
Definition: eagle.cpp:89
A SceneObject that holds Surfaces containing mesh data and textures.
Definition: geometry.h:19
bool isInTargetDefenseReach()
Check whether target is in TARGET_DEFENSE_REACH_RADIUS of the eagle.
Definition: eagle.cpp:84
EagleState getState()
Returns the current state of the eagle's behaviour.
Definition: eagle.cpp:79