# ai_tilelist.hpp

Go to the documentation of this file.

    00001 /* $Id: ai_tilelist.hpp 15060 2009-01-13 15:44:36Z smatz $ */
    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
    00075   AITileList_IndustryAccepting(IndustryID industry_id, uint radius);
    00076 };
    00077
    00083 class AITileList_IndustryProducing : public AITileList {
    00084 public:
    00085   static const char *GetClassName() { return "AITileList_IndustryProducing"; }
    00086
    00091   AITileList_IndustryProducing(IndustryID industry_id, uint radius);
    00092 };
    00093
    00099 class AITileList_StationType : public AITileList {
    00100 public:
    00101   static const char *GetClassName() { return "AITileList_StationType"; }
    00102
    00107   AITileList_StationType(StationID station_id, AIStation::StationType station_type);
    00108 };
    00109
    00110 #endif /* AI_TILELIST_HPP */