# ai_sign.hpp

Go to the documentation of this file.

    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 */