Merge branch 'development' into master_joker
[openttd-joker.git] / src / overlay_cmd.h
bloba888fbee35b3fbe65fc3be9eccb3125e4de66284
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);
43 bool IsTileInCatchmentArea(const TileInfo* ti, CatchmentType type);
45 bool HasStation(const Station* st);
47 virtual ~Overlays();
50 #endif // OVERLAY_CMD_H