ai_controller.hpp
Go to the documentation of this file.00001
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