Roguelike
 All Classes Namespaces Functions Variables Typedefs Friends Pages
Public Member Functions | List of all members
MainMenu Class Reference

#include <menu.h>

Inheritance diagram for MainMenu:
Menu

Public Member Functions

 MainMenu (int _padding, Tile _border, Game *_game)
 
Menumake_selection ()
 
- Public Member Functions inherited from Menu
bool out_of_bounds (int row)
 
 Menu (int _padding, Tile _border)
 
void move_selection (int direction)
 
void add_item (string new_item)
 
bool should_exit ()
 
int get_selection ()
 
void toggle_exit ()
 
Screen get_screen ()
 
int get_id ()
 
int num_extra_lines ()
 
vector< string > get_extra_lines ()
 

Additional Inherited Members

- Public Attributes inherited from Menu
Gamegame
 
Screen next_screen
 
int selection
 
string title
 
Tile border
 
vector< string > options
 
bool exit
 
int id
 
int padding
 
vector< string > extra_lines
 

Detailed Description

The main menu brought up when the player hits "m."

Constructor & Destructor Documentation

MainMenu::MainMenu ( int  _padding,
Tile  _border,
Game _game 
)

Constructor for the Main Menu.

Parameters
_paddingSets the padding for the menu.
_borderSets the border for the menu.
_gameSets the game for the menu.

Member Function Documentation

Menu * MainMenu::make_selection ( )
virtual

The function that handles when a selection is made in the menu. This is the most important function. There are four possibilities:

  1. The selection just transitions to a new menu. The menu returned will be the new menu.
  2. The selection just performs a function and then returns to the same menu. In this case, "this" will be returned and nothing else will happen.
  3. The selection causes an exit of the menu screen. When this happens, "this" will be returned and should_exit will be toggled. On the next pass, the game_state will then transition to the next_screen.
  4. The function returns NULL, in which case the game is exited. There's no reason that 2 & 3 can't be combined.

Implements Menu.


The documentation for this class was generated from the following files: