X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fai%2FRandomWalk.hpp;h=8a0a19da51aaa898499d5cdba4202075bed5797f;hb=9da6ac5e93d79e79658a95d5f6efe42146873583;hp=a25d4db502bedf56ca98affa5997ff89646185cf;hpb=c52405fad9c070e1370f852234c6eb723b52916c;p=blank.git diff --git a/src/ai/RandomWalk.hpp b/src/ai/RandomWalk.hpp index a25d4db..8a0a19d 100644 --- a/src/ai/RandomWalk.hpp +++ b/src/ai/RandomWalk.hpp @@ -3,6 +3,10 @@ #include "Controller.hpp" +#include "../rand/GaloisLFSR.hpp" + +#include + namespace blank { @@ -11,13 +15,26 @@ class RandomWalk : public Controller { public: - explicit RandomWalk(Entity &) noexcept; + RandomWalk(Entity &, std::uint64_t seed) noexcept; ~RandomWalk(); void Update(int dt) override; private: - int time_left; + void Change() noexcept; + +private: + GaloisLFSR random; + + glm::vec3 start_vel; + glm::vec3 target_vel; + + glm::vec3 start_rot; + glm::vec3 target_rot; + + int switch_time; + float lerp_max; + float lerp_time; };