Peoplemon  0.1.0
Peoplemon 3 game source documentation
DebugOverrides.cpp
Go to the documentation of this file.
2 
4 
5 #ifdef PEOPLEMON_DEBUG
6 
7 namespace core
8 {
9 namespace debug
10 {
11 namespace
12 {
13 std::string bToStr(bool b) { return b ? "ON" : "OFF"; }
14 } // namespace
15 
16 DebugOverrides::DebugOverrides()
17 : skipBattles(false)
18 , alwaysCatch(false)
19 , alwaysRun(false) {}
20 
21 const DebugOverrides& DebugOverrides::get() { return instance(); }
22 
23 DebugOverrides& DebugOverrides::instance() {
24  static DebugOverrides overrides;
25  return overrides;
26 }
27 
28 void DebugOverrides::subscribe() { bl::event::Dispatcher::subscribe(&instance()); }
29 
30 void DebugOverrides::observe(const sf::Event& event) {
31  if (event.type == sf::Event::KeyPressed) {
32  switch (event.key.code) {
33  case sf::Keyboard::F2:
34  skipBattles = !skipBattles;
35  DebugBanner::display("SkipBattles: " + bToStr(skipBattles));
36  break;
37 
38  case sf::Keyboard::F3:
39  alwaysCatch = !alwaysCatch;
40  DebugBanner::display("AlwaysCatch: " + bToStr(alwaysCatch));
41  break;
42 
43  case sf::Keyboard::F4:
44  alwaysRun = !alwaysRun;
45  DebugBanner::display("AlwaysRun: " + bToStr(alwaysRun));
46  break;
47 
48  default:
49  break;
50  }
51  }
52 }
53 
54 } // namespace debug
55 } // namespace core
56 
57 #endif
Core classes and functionality for both the editor and game.