ai_controller.hpp

Go to the documentation of this file.
00001 /* $Id: ai_controller.hpp 16272 2009-05-10 21:26:46Z rubidium $ */
00002 
00005 #ifndef AI_CONTROLLER_HPP
00006 #define AI_CONTROLLER_HPP
00007 
00008 #include "../../core/string_compare_type.hpp"
00009 #include <map>
00010 
00015 class AIController {
00016   friend class AIScanner;
00017   friend class AIInstance;
00018 
00019 public:
00020   static const char *GetClassName() { return "AIController"; }
00021 
00025   AIController();
00026 
00030   ~AIController();
00031 
00038   void Start();
00039 
00044   static uint GetTick();
00045 
00051   static int GetSetting(const char *name);
00052 
00063   static uint GetVersion();
00064 
00075   static void SetCommandDelay(int ticks);
00076 
00086   static void Sleep(int ticks);
00087 
00095   static void Print(bool error_msg, const char *message);
00096 
00097 private:
00098   typedef std::map<const char *, const char *, StringCompare> LoadedLibraryList;
00099 
00100   uint ticks;
00101   LoadedLibraryList loaded_library;
00102   int loaded_library_count;
00103 
00107   void RegisterClasses();
00108 
00119   bool LoadedLibrary(const char *library_name, int *next_number, char *fake_class_name, int fake_class_name_len);
00120 
00124   void AddLoadedLibrary(const char *library_name, const char *fake_class_name);
00125 };
00126 
00127 #endif /* AI_CONTROLLER_HPP */

Generated on Sun Sep 13 08:19:14 2009 for OpenTTD by  doxygen 1.5.6