Menus

OpenBGE has a fairly generalized menuing system.

Menu Types

 * TextMenuScreen - simple text options that result in handlers being called when the options are chosen.
 * MainMenuScreen - this is for an initial menu screen and has the unique functionality that it looks for input from all controllers and assigns them their LogicalGamerIndex based on which one chooses a menu option first (this makes it easier to meet the Xbox requirements that any controller can be used to play a game).
 * SettingsMenuScreen - makes it easy to combine a bunch of settings that can be modified from one menu-screen

Overview
UML-ish diagram: