summaryrefslogtreecommitdiffstats
path: root/engine/include/flatactor.h
diff options
context:
space:
mode:
Diffstat (limited to 'engine/include/flatactor.h')
-rw-r--r--engine/include/flatactor.h29
1 files changed, 11 insertions, 18 deletions
diff --git a/engine/include/flatactor.h b/engine/include/flatactor.h
index 2c8b92d..8e2d3d3 100644
--- a/engine/include/flatactor.h
+++ b/engine/include/flatactor.h
@@ -2,35 +2,28 @@
#define __FLATACTOR_H__
#include "flatcollector.h"
+#include "flatevolvable.h"
-struct task_s;
+class FlatBound;
-class FlatActor : public FlatCollector
+class FlatActor : public FlatCollector, public FlatEvolvable
{
- task_s * task;
-
// TODO, event binding
// TODO, serial binding
+
+ /* Bounds */
+ FlatBound * bounds;
public:
- FlatActor(FlatCollector *parent = 0, bool evolving = false);
-
- virtual ~FlatActor();
-
- /* Evolution fields */
+ FlatActor(FlatCollector *parent = 0, FlatBound *bounds = 0);
- void evolve_task(void*);
+ ~FlatActor();
- virtual void evolve(float dt);
-
- void setEvolving(bool flag);
-
- bool isEvolving() const;
-
- /* Surface fields */
+ virtual void evolve(float dt) override;
- virtual SDL_Surface * sdl_surface() = 0;
+ void setBounds(FlatBound * bounds);
+ FlatBound * getBounds() const;
};
#endif