@ -37,7 +37,71 @@ All rights reserved.
# pragma endregion
# include "Menu.h"
# include "MenuComponent.h"
# include "GameState.h"
# include "MenuLabel.h"
# include "AdventuresInLestoria.h"
# include "CharacterRotatingDisplay.h"
# include "ClassInfo.h"
INCLUDE_game
INCLUDE_GFX
void Menu : : InitializePauseWindow ( ) {
Menu * pauseWindow = CreateMenu ( MenuType : : PAUSE , CENTERED , vi2d { 96 , 164 } ) ;
Menu * pauseWindow = CreateMenu ( MenuType : : PAUSE , CENTERED , vi2d { 96 , 140 } ) ;
pauseWindow - > ADD ( " Resume Button " , MenuComponent ) ( geom2d : : rect < float > { { 6.f , 0.f } , { 84.f , 24.f } } , " Resume " , [ ] ( MenuFuncData data ) {
Menu : : CloseMenu ( ) ;
return true ;
} , ButtonAttr : : FIT_TO_LABEL ) END ;
pauseWindow - > ADD ( " Character Button " , MenuComponent ) ( geom2d : : rect < float > { { 6.f , 28.f } , { 84.f , 24.f } } , " Character " , [ ] ( MenuFuncData data ) {
Component < CharacterRotatingDisplay > ( CHARACTER_MENU , " Character Rotating Display " ) - > SetIcon ( GFX [ classutils : : GetClassInfo ( game - > GetPlayer ( ) - > GetClassName ( ) ) . classFullImgName ] . Decal ( ) ) ;
Menu : : OpenMenu ( CHARACTER_MENU ) ;
return true ;
} , ButtonAttr : : FIT_TO_LABEL ) END ;
pauseWindow - > ADD ( " Inventory Button " , MenuComponent ) ( geom2d : : rect < float > { { 6.f , 56.f } , { 84.f , 24.f } } , " Inventory " , [ ] ( MenuFuncData data ) {
Menu : : OpenMenu ( INVENTORY ) ;
return true ;
} , ButtonAttr : : FIT_TO_LABEL ) END ;
pauseWindow - > ADD ( " Settings Button " , MenuComponent ) ( geom2d : : rect < float > { { 6.f , 84.f } , { 84.f , 24.f } } , " Settings " , [ ] ( MenuFuncData data ) {
Menu : : OpenMenu ( SETTINGS ) ;
return true ;
} , ButtonAttr : : FIT_TO_LABEL ) END ;
pauseWindow - > ADD ( " Return to Camp Button " , MenuComponent ) ( geom2d : : rect < float > { { 6.f , 112.f } , { 84.f , 24.f } } , " Return to Camp " , [ ] ( MenuFuncData data ) {
Component < MenuLabel > ( LEVEL_COMPLETE , " Stage Complete Label " ) - > SetLabel ( " Stage Summary " ) ;
GameState : : ChangeState ( States : : LEVEL_COMPLETE , 0.4f ) ;
return true ;
} , ButtonAttr : : FIT_TO_LABEL ) END ;
pauseWindow - > SetupKeyboardNavigation (
[ ] ( MenuType type , Data & returnData ) { //On Open
returnData = " Resume Button " ;
} ,
{ //Button Key
{ game - > KEY_SCROLL , { " Navigate " , [ ] ( MenuType type ) { } } } ,
{ game - > KEY_BACK , { " Resume " , [ ] ( MenuType type ) {
Menu : : CloseMenu ( ) ;
} } } ,
{ game - > KEY_MENU , { " Resume " , [ ] ( MenuType type ) {
Menu : : CloseMenu ( ) ;
} } } ,
{ game - > KEY_CONFIRM , { " Select " , [ ] ( MenuType type ) { } } } ,
}
, { //Button Navigation Rules
{ " Resume Button " , {
. up = " Return to Camp Button " ,
. down = " Character Button " , } } ,
{ " Character Button " , {
. up = " Resume Button " ,
. down = " Inventory Button " , } } ,
{ " Inventory Button " , {
. up = " Character Button " ,
. down = " Settings Button " , } } ,
{ " Settings Button " , {
. up = " Inventory Button " ,
. down = " Return to Camp Button " , } } ,
{ " Return to Camp Button " , {
. up = " Settings Button " ,
. down = " Resume Button " , } } ,
} ) ;
}