00001 /* $Id: ai_sign.hpp 16423 2009-05-25 17:15:15Z rubidium $ */ 00002 00005 #ifndef AI_SIGN_HPP 00006 #define AI_SIGN_HPP 00007 00008 #include "ai_object.hpp" 00009 #include "ai_error.hpp" 00010 #include "ai_company.hpp" 00011 00015 class AISign : public AIObject { 00016 public: 00017 static const char *GetClassName() { return "AISign"; } 00018 00022 enum ErrorMessages { 00023 00025 ERR_SIGN_BASE = AIError::ERR_CAT_SIGN << AIError::ERR_CAT_BIT_SIZE, 00026 00028 ERR_SIGN_TOO_MANY_SIGNS, // [STR_2808_TOO_MANY_SIGNS] 00029 }; 00030 00037 static SignID GetMaxSignID(); 00038 00044 static bool IsValidSign(SignID sign_id); 00045 00056 static bool SetName(SignID sign_id, const char *name); 00057 00064 static char *GetName(SignID sign_id); 00065 00072 static TileIndex GetLocation(SignID sign_id); 00073 00086 static SignID BuildSign(TileIndex location, const char *text); 00087 00094 static bool RemoveSign(SignID sign_id); 00095 }; 00096 00097 #endif /* AI_SIGN_HPP */