feat: added delay to detecting the player
This commit is contained in:
parent
f646f70c37
commit
6456d81794
|
@ -46,7 +46,8 @@ void PlayerDetector::process(double delta) {
|
||||||
} else {
|
} else {
|
||||||
this->query_timer = this->query_time;
|
this->query_timer = this->query_time;
|
||||||
bool const new_awareness{ check() };
|
bool const new_awareness{ check() };
|
||||||
if (new_awareness != this->aware_of_player) {
|
this->awareness = CLAMP(this->awareness + (new_awareness ? this->awareness_increments : -this->awareness_increments), 0.0, 1.0);
|
||||||
|
if (this->awareness >= 1.0) {
|
||||||
set_aware_of_player(new_awareness);
|
set_aware_of_player(new_awareness);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,13 +23,15 @@ public:
|
||||||
private:
|
private:
|
||||||
bool aware_of_player{ false };
|
bool aware_of_player{ false };
|
||||||
|
|
||||||
float max_hearing_range{ 40.f };
|
float max_hearing_range{ 100.f };
|
||||||
|
|
||||||
float max_sight_range{ 20.f };
|
float max_sight_range{ 60.f };
|
||||||
float min_sight_dot{ 0.7f };
|
float min_sight_dot{ 0.7f };
|
||||||
|
|
||||||
double query_time{ 0.3 };
|
double query_time{ 0.3 };
|
||||||
double query_timer{ 0.0 };
|
double query_timer{ 0.0 };
|
||||||
|
double awareness{ 0.0 };
|
||||||
|
double awareness_increments{ 0.4 };
|
||||||
|
|
||||||
PhysicsDirectSpaceState3D::RayParameters ray_params{};
|
PhysicsDirectSpaceState3D::RayParameters ray_params{};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue