Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/entity.cc8
-rw-r--r--src/core/entity.h5
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;
};