X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld%2FEntityController.hpp;h=2724c5e9c8278e67858d3da5d384a24fa26c3796;hb=ec85ac414e4e60295484ca1752876919ce5a8390;hp=3bfc10bb47b5a4118a587a7a3d8fe1908f78fb20;hpb=f0a20986c573c4df1eb1212333489252c4b30efa;p=blank.git diff --git a/src/world/EntityController.hpp b/src/world/EntityController.hpp index 3bfc10b..2724c5e 100644 --- a/src/world/EntityController.hpp +++ b/src/world/EntityController.hpp @@ -1,11 +1,6 @@ #ifndef BLANK_WORLD_ENTITYCONTROLLER_HPP_ #define BLANK_WORLD_ENTITYCONTROLLER_HPP_ -#include "EntityState.hpp" - -#include - - namespace blank { class Entity; @@ -16,33 +11,6 @@ struct EntityController { virtual void Update(Entity &, float dt) = 0; - virtual glm::vec3 ControlForce(const Entity &, const EntityState &) const = 0; - - - /// try to add as much of add to out so it doesn't exceed max - /// returns true if it's maxed out - static bool MaxOutForce( - glm::vec3 &out, - const glm::vec3 &add, - float max - ) noexcept; - /// give a force that makes state's velocity converge with given target velocity - /// over 1/n seconds - static inline glm::vec3 TargetVelocity( - const glm::vec3 &target, - const EntityState &state, - float n - ) noexcept { - return (target - state.velocity) * n; - } - /// give a force that makes state come to a halt over 1/n seconds - static inline glm::vec3 Halt( - const EntityState &state, - float n - ) noexcept { - return state.velocity * -n; - } - }; }