1 #ifndef ROGUELIKE_ACTION_TIME_TIMEMANAGER_H_
2 #define ROGUELIKE_ACTION_TIME_TIMEMANAGER_H_
5 #include <ugdk/action/task.h>
23 typedef std::set< base::GameObject*, bool (*)(const base::GameObject*, const base::GameObject*) >
ObjectQueue;
26 typedef ugdk::action::Task super;
27 struct SortStructure {
29 SortStructure(
TimeManager* manager) { manager_ = manager; };
32 if (manager_->actors_time_[a] < manager_->actors_time_[b] )
34 else if (manager_->actors_time_[a] > manager_->actors_time_[b])
37 double mean_a = a->energy_component()->Mean();
38 double mean_b = b->energy_component()->Mean();
39 return mean_a > mean_b || ( mean_a == mean_b && a < b );
54 std::map<base::GameObject*, int> actors_time_;
55 std::vector<base::GameObject*> actors_;
Definition: gameobject.h:53
~TimeManager()
Definition: timemanager.h:46
std::set< base::GameObject *, bool(*)(const base::GameObject *, const base::GameObject *) > ObjectQueue
Definition: timemanager.h:23
Definition: timeelapsed.h:20
Definition: timemanager.h:25
void operator()(double dt)
Definition: timemanager.cc:30
bool CompareFunction(base::GameObject *a, base::GameObject *b)
TimeManager()
Definition: timemanager.h:45