summaryrefslogtreecommitdiffstats
path: root/engine/include/flatactor.h
blob: 2c8b92da2957df4f01a434887e9ada3af32148bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef __FLATACTOR_H__
#define __FLATACTOR_H__

#include "flatcollector.h"

struct task_s;

class FlatActor : public FlatCollector
{
    task_s * task;
    
    // TODO, event binding
    // TODO, serial binding

public:

    FlatActor(FlatCollector *parent = 0, bool evolving = false);

    virtual ~FlatActor();

    /* Evolution fields */

    void evolve_task(void*);

    virtual void evolve(float dt);

    void setEvolving(bool flag);

    bool isEvolving() const;
    
    /* Surface fields */

    virtual SDL_Surface * sdl_surface() = 0;
};

#endif