summaryrefslogtreecommitdiffstats
path: root/engine/include/flatevolvable.h
blob: 71aaf0f618f37f13e8bba667b47b6b0d32ca3ff8 (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
#ifndef __FLATEVOLVABLE_H__
#define __FLATEVOLVABLE_H__

#include "flatobject.h"

class task_s;

class FlatEvolvable : virtual public FlatObject
{
    task_s * task;

public:

    FlatEvolvable(bool evolving = false);

    virtual ~FlatEvolvable();

    /* Evolution fields */

    void evolve_task(float*);

    virtual void evolve(float dt) = 0;

    void setEvolving(bool flag);

    bool isEvolving() const;
};

#endif