00001 /* $Id: ai_sign.hpp 15123 2009-01-17 15:31:30Z truebrain $ */ 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 00036 static SignID GetMaxSignID(); 00037 00043 static bool IsValidSign(SignID sign_id); 00044 00055 static bool SetName(SignID sign_id, const char *name); 00056 00063 static char *GetName(SignID sign_id); 00064 00071 static TileIndex GetLocation(SignID sign_id); 00072 00085 static SignID BuildSign(TileIndex location, const char *text); 00086 00093 static bool RemoveSign(SignID sign_id); 00094 }; 00095 00096 #endif /* AI_SIGN_HPP */