00001 #ifndef HEADER_PLANNER_H 00002 #define HEADER_PLANNER_H 00003 00004 class Path; 00005 class CommandQueue; 00006 class DialogStack; 00007 00008 #include "Scripter.h" 00009 00010 #include "SDL.h" 00011 #include <string> 00012 00013 /** 00014 * Action planner. 00015 */ 00016 class Planner : public Scripter { 00017 private: 00018 CommandQueue *m_plan; 00019 DialogStack *m_dialogs; 00020 private: 00021 void registerScriptFuncs(); 00022 public: 00023 Planner(); 00024 virtual ~Planner(); 00025 00026 bool satisfyPlan(); 00027 void killPlan(); 00028 virtual void interruptPlan(); 00029 00030 void planAction(int funcRef); 00031 bool isPlanning() const; 00032 DialogStack *dialogs() { return m_dialogs; } 00033 }; 00034 00035 #endif