BaseGamePanel(GameFrame *parent, wxWindowID id)
virtual void update_layout()
Responsible for drawing the board and painting the UI overlays.
void set_panel(BaseGamePanel *panel)
GameFrame(wxWindow *parent, wxWindowID id)
wxMenuItem * menu_close_game
wxWindow * progress_container
wxMenuItem * menu_new_game
BaseGamePanel * current_panel
GameLogListBoxEntry(size_t index)
std::unique_ptr< wxBusyCursor > busy_cursor_changer
wxSizer * game_controls_box
wxString describe_game_log_entry(size_t index) const
GamePanel(GameFrame *parent, wxWindowID id, NewGameDialog *dialog)
wxButton * show_current_turn_btn
void on_show_current_turn_clicked(wxCommandEvent &event)
size_t displayed_log_entries
wxVector< PlayerInfoBox * > player_info_boxes
wxVector< PlayerType > player_types
std::shared_ptr< BotParameters > bot_params
GameController * controller
wxScrolledWindow * scrolled_panel
void set_controller(GameController *next_controller)
std::unique_ptr< Game, decltype(&game_free)> game
void start_bot_progress()
void on_exit_game_clicked(wxCommandEvent &event)
wxVector< wxString > player_names
GameController * get_controller_for_current_turn()
void update_player_info_boxes()
void on_game_log_select(wxCommandEvent &event)
virtual void update_layout() override
GameStartPanel(GameFrame *parent, wxWindowID id)
void game_free(Game *self)
Destroys a Game, freeing the memory allocated for the struct itself and all associated internal lists...
The core of the unified game logic library, contains the Game struct.
The central struct of the application, holds the game data and settings.