diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/entity.cc | 8 | ||||
-rw-r--r-- | src/core/entity.h | 5 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/core/entity.cc b/src/core/entity.cc index 7472908..04ede71 100644 --- a/src/core/entity.cc +++ b/src/core/entity.cc @@ -279,6 +279,14 @@ EntityDynamic::~EntityDynamic() { } +void EntityDynamic::set_eventstate(Event eventstate) +{ + if (entity_eventstate != eventstate) { + entity_eventstate = eventstate; + entity_dirty = true; + } +} + void EntityDynamic::frame(float seconds) { if ((flags() & Static) == Static) diff --git a/src/core/entity.h b/src/core/entity.h index 30e3356..8a996fd 100644 --- a/src/core/entity.h +++ b/src/core/entity.h @@ -266,6 +266,9 @@ public: /// receive a server-to-client update from a stream virtual void receive_server_update(std::istream &is); + /// set event state + virtual void set_eventstate(Event eventstate); + /// runs one game frame for the entity /** * The default implementation will update the position() of the entity, @@ -276,10 +279,10 @@ public: /// speed of the entity float entity_speed; - unsigned int entity_eventstate; protected: float entity_timer; + int entity_eventstate; }; |