(C++)  1.0.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
Plan.hh
1 #ifndef GRAIL_PLAN_H
2 #define GRAIL_PLAN_H
3 
4 #include "Behavior.hh"
5 
6 #include <memory>
7 #include <queue>
8 
9 
10 namespace grail
11 {
12  namespace planning
13  {
15  class Plan
16  {
17  public:
19  void PushBehavior(std::unique_ptr<Behavior> behavior);
20  std::unique_ptr<Behavior> PopFirstBehavior();
21  bool IsNonEmpty() const;
22  void Clear();
23 
24  private:
25  std::queue<std::unique_ptr<Behavior>> actionSequence{};
26  };
27  }
28 }
29 #endif //GRAIL_PLAN_H
A data structure used by PlannerReasoner to execute a sequence of behaviors.
Definition: Plan.hh:16
void PushBehavior(std::unique_ptr< Behavior > behavior)
Use this method during plan translation in your implementation of DomainTranslator.
Definition: Plan.cpp:8