Update readme and changelog for v1.26.0
[openttd-joker.git] / src / overlay_cmd.h
blobb8250af1a356a90583ab121776085a5f3071ecd0
1 /* $Id$ */
3 /** @file overlay_cmd.h Functions related to overlays. */
5 #ifndef OVERLAY_CMD_H
6 #define OVERLAY_CMD_H
8 #include "tile_type.h"
9 #include "tile_cmd.h"
10 #include "station_base.h"
11 #include "logic_signals.h"
12 #include <set>
14 class Overlays {
16 std::set<const Station *> catchmentOverlay;
17 const SignalProgram* logic_signal_program;
19 protected:
20 static Overlays* instance;
22 public:
23 static Overlays* Instance();
25 void AddStation(const Station* st);
27 void RemoveStation(const Station *st);
29 void ToggleStation(const Station* st);
31 void SetLogicSignalOverlay(const SignalProgram* program);
33 void ClearLogicSignalOverlay();
35 void RefreshLogicSignalOverlay() const;
37 void HandleSignalProgramDeletion(const SignalProgram* program);
39 void Clear();
41 bool IsTileLogicSignalInput(const TileInfo* ti);
42 bool IsTileLogicSignalOutput(const TileInfo* ti) const;
44 bool IsTileInCatchmentArea(const TileInfo* ti, CatchmentType type);
46 bool HasStation(const Station* st);
48 virtual ~Overlays();
51 #endif // OVERLAY_CMD_H