summary refs log tree commit diff stats
path: root/src/components/schedulable.h
blob: a92bbba966d1c1c44a938fea4477232f65072de3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef SCHEDULABLE_H_1DA3FA2A
#define SCHEDULABLE_H_1DA3FA2A

#include "component.h"
#include <tuple>
#include <list>
#include <functional>
#include "entity_manager.h"

class SchedulableComponent : public Component {
public:

  using id_type = EntityManager::id_type;

  using Callback = std::function<void(id_type)>;
  using Action = std::tuple<double, Callback>;

  std::list<Action> actions;
};

#endif /* end of include guard: SCHEDULABLE_H_1DA3FA2A */