# ai_tilelist.hpp

Go to the documentation of this file.

    00001 /* $Id: ai_tilelist.hpp 16531 2009-06-07 15:26:33Z rubidium $ */
    00002
    00005 #ifndef AI_TILELIST_HPP
    00006 #define AI_TILELIST_HPP
    00007
    00008 #include "ai_abstractlist.hpp"
    00009 #include "ai_station.hpp"
    00010
    00015 class AITileList : public AIAbstractList {
    00016 public:
    00017   static const char *GetClassName() { return "AITileList"; }
    00018
    00019 private:
    00026   void FixRectangleSpan(TileIndex &t1, TileIndex &t2);
    00027
    00028 public:
    00036   void AddRectangle(TileIndex tile_from, TileIndex tile_to);
    00037
    00043   void AddTile(TileIndex tile);
    00044
    00052   void RemoveRectangle(TileIndex tile_from, TileIndex tile_to);
    00053
    00059   void RemoveTile(TileIndex tile);
    00060 };
    00061
    00067 class AITileList_IndustryAccepting : public AITileList {
    00068 public:
    00069   static const char *GetClassName() { return "AITileList_IndustryAccepting"; }
    00070
    00077   AITileList_IndustryAccepting(IndustryID industry_id, int radius);
    00078 };
    00079
    00085 class AITileList_IndustryProducing : public AITileList {
    00086 public:
    00087   static const char *GetClassName() { return "AITileList_IndustryProducing"; }
    00088
    00095   AITileList_IndustryProducing(IndustryID industry_id, int radius);
    00096 };
    00097
    00103 class AITileList_StationType : public AITileList {
    00104 public:
    00105   static const char *GetClassName() { return "AITileList_StationType"; }
    00106
    00111   AITileList_StationType(StationID station_id, AIStation::StationType station_type);
    00112 };
    00113
    00114 #endif /* AI_TILELIST_HPP */