Skip to content

Commit

Permalink
play_controller: add accessor for current gamestate
Browse files Browse the repository at this point in the history
use it in menu_events
  • Loading branch information
cbeck88 committed Dec 23, 2014
1 parent 816b51d commit 1e9da5f
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 12 deletions.
15 changes: 7 additions & 8 deletions src/menu_events.cpp
Expand Up @@ -86,12 +86,11 @@ static lg::log_domain log_engine("engine");

namespace events{

menu_handler::menu_handler(game_display* gui, play_controller & pc, game_state & gs,
menu_handler::menu_handler(game_display* gui, play_controller & pc,
const config& level,
const config& game_config) :
gui_(gui),
pc_(pc),
game_state_(gs),
level_(level),
game_config_(game_config),
textbox_info_(),
Expand All @@ -104,12 +103,12 @@ menu_handler::~menu_handler()
{
}

game_state & menu_handler::gamestate() { return game_state_; }
game_data & menu_handler::gamedata() { return game_state_.gamedata_; }
game_board & menu_handler::board() const { return game_state_.board_; }
unit_map& menu_handler::units() { return game_state_.board_.units_; }
std::vector<team>& menu_handler::teams() const { return game_state_.board_.teams_; }
const gamemap& menu_handler::map() { return game_state_.board_.map(); }
game_state & menu_handler::gamestate() const { return pc_.gamestate(); }
game_data & menu_handler::gamedata() { return gamestate().gamedata_; }
game_board & menu_handler::board() const { return gamestate().board_; }
unit_map& menu_handler::units() { return gamestate().board_.units_; }
std::vector<team>& menu_handler::teams() const { return gamestate().board_.teams_; }
const gamemap& menu_handler::map() { return gamestate().board_.map(); }

gui::floating_textbox& menu_handler::get_textbox(){
return textbox_info_;
Expand Down
5 changes: 2 additions & 3 deletions src/menu_events.hpp
Expand Up @@ -42,7 +42,7 @@ namespace events {

class menu_handler : private chat_handler {
public:
menu_handler(game_display* gui, play_controller & pc, game_state & gs,
menu_handler(game_display* gui, play_controller & pc,
const config& level,
const config& game_config);
virtual ~menu_handler();
Expand Down Expand Up @@ -122,9 +122,8 @@ class menu_handler : private chat_handler {

game_display* gui_;
play_controller & pc_;
game_state & game_state_;

game_state & gamestate();
game_state & gamestate() const;
game_data & gamedata();
game_board & board() const;
unit_map& units();
Expand Down
2 changes: 1 addition & 1 deletion src/play_controller.cpp
Expand Up @@ -121,7 +121,7 @@ play_controller::play_controller(const config& level, saved_game& state_of_game,
labels_manager_(),
help_manager_(&game_config),
mouse_handler_(NULL, gamestate_.board_),
menu_handler_(NULL, *this, gamestate_, level, game_config),
menu_handler_(NULL, *this, level, game_config),
hotkey_handler_(new hotkey_handler(*this, saved_game_, gamestate_)),
soundsources_manager_(),
persist_(),
Expand Down
4 changes: 4 additions & 0 deletions src/play_controller.hpp
Expand Up @@ -145,6 +145,10 @@ class play_controller : public controller_base, public events::observer, public
return gamestate_.board_.is_observer();
}

game_state & gamestate() {
return gamestate_;
}

/**
* Checks to see if a side has won, and throws an end_level_exception.
* Will also remove control of villages from sides with dead leaders.
Expand Down

0 comments on commit 1e9da5f

Please sign in to comment.