#include "PanicFromPlayerScript.h" #include #include #include #include #include using namespace crepe; using namespace std; void PanicFromPlayerScript::fixed_update(duration_t dt) { Animator & anim_player = this->get_components_by_name("player").front(); if (anim_player.data.col == 1) { Transform & trans_player = this->get_components_by_name("player").back(); Transform & trans_worker = this->get_components().back(); float result_x = trans_player.position.x - trans_worker.position.x; if (result_x < 100 && result_x > -20) { RefVector anim_worker = this->get_components(); RefVector sprite_worker = this->get_components(); Rigidbody & rb_worker = this->get_components().back(); if (anim_worker.front().get().data.col != 1) { anim_worker.front().get().set_anim(1); anim_worker.back().get().set_anim(1); anim_worker.front().get().data.fps = 10; anim_worker.back().get().data.fps = 10; } if (result_x < 0) { float min_value = 8000; float max_value = 10000; float value = min_value + static_cast(rand()) / (static_cast(RAND_MAX / (max_value - min_value))); rb_worker.data.linear_velocity.x = value * dt.count(); sprite_worker.front().get().data.flip.flip_x = false; sprite_worker.back().get().data.flip.flip_x = false; } else { float min_value = -4000; float max_value = -5000; float value = min_value + static_cast(rand()) / (static_cast(RAND_MAX / (max_value - min_value))); rb_worker.data.linear_velocity.x = value * dt.count(); sprite_worker.front().get().data.flip.flip_x = true; sprite_worker.back().get().data.flip.flip_x = true; } } } };