the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 183 lines 6.3 kB view raw
1#include "stdafx.h" 2#include "UI.h" 3#include "UIScene_SettingsUIMenu.h" 4 5UIScene_SettingsUIMenu::UIScene_SettingsUIMenu(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) 6{ 7 // Setup all the Iggy references we need for this scene 8 initialiseMovie(); 9 10 m_bNotInGame=(Minecraft::GetInstance()->level==NULL); 11 12 m_checkboxDisplayHUD.init(app.GetString(IDS_CHECKBOX_DISPLAY_HUD),eControl_DisplayHUD,(app.GetGameSettings(m_iPad,eGameSetting_DisplayHUD)!=0)); 13 m_checkboxDisplayHand.init(app.GetString(IDS_CHECKBOX_DISPLAY_HAND),eControl_DisplayHand,(app.GetGameSettings(m_iPad,eGameSetting_DisplayHand)!=0)); 14 m_checkboxDisplayDeathMessages.init(app.GetString(IDS_CHECKBOX_DEATH_MESSAGES),eControl_DisplayDeathMessages,(app.GetGameSettings(m_iPad,eGameSetting_DeathMessages)!=0)); 15 m_checkboxDisplayAnimatedCharacter.init(app.GetString(IDS_CHECKBOX_ANIMATED_CHARACTER),eControl_DisplayAnimatedCharacter,(app.GetGameSettings(m_iPad,eGameSetting_AnimatedCharacter)!=0)); 16 m_checkboxSplitscreen.init(app.GetString(IDS_CHECKBOX_VERTICAL_SPLIT_SCREEN),eControl_Splitscreen,(app.GetGameSettings(m_iPad,eGameSetting_SplitScreenVertical)!=0)); 17 m_checkboxShowSplitscreenGamertags.init(app.GetString(IDS_CHECKBOX_DISPLAY_SPLITSCREENGAMERTAGS),eControl_ShowSplitscreenGamertags,(app.GetGameSettings(m_iPad,eGameSetting_DisplaySplitscreenGamertags)!=0)); 18 19 WCHAR TempString[256]; 20 21 swprintf( (WCHAR *)TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_UISIZE ),app.GetGameSettings(m_iPad,eGameSetting_UISize)+1); 22 m_sliderUISize.init(TempString,eControl_UISize,1,3,app.GetGameSettings(m_iPad,eGameSetting_UISize)+1); 23 24 swprintf( (WCHAR *)TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_UISIZESPLITSCREEN ),app.GetGameSettings(m_iPad,eGameSetting_UISizeSplitscreen)+1); 25 m_sliderUISizeSplitscreen.init(TempString,eControl_UISizeSplitscreen,1,3,app.GetGameSettings(m_iPad,eGameSetting_UISizeSplitscreen)+1); 26 27 doHorizontalResizeCheck(); 28 29 bool bInGame=(Minecraft::GetInstance()->level!=NULL); 30 bool bPrimaryPlayer = ProfileManager.GetPrimaryPad()==m_iPad; 31 32 // if we're not in the game, we need to use basescene 0 33 if(bInGame) 34 { 35 // If the game has started, then you need to be the host to change the in-game gamertags 36 if(!bPrimaryPlayer) 37 { 38 // hide things we don't want the splitscreen player changing 39 removeControl(&m_checkboxSplitscreen, true); 40 removeControl(&m_checkboxShowSplitscreenGamertags, true); 41 } 42 } 43 44 45 if(app.GetLocalPlayerCount()>1) 46 { 47#if TO_BE_IMPLEMENTED 48 app.AdjustSplitscreenScene(m_hObj,&m_OriginalPosition,m_iPad); 49#endif 50 } 51} 52 53void UIScene_SettingsUIMenu::updateTooltips() 54{ 55 ui.SetTooltips( m_iPad, IDS_TOOLTIPS_SELECT,IDS_TOOLTIPS_BACK); 56} 57 58void UIScene_SettingsUIMenu::updateComponents() 59{ 60 bool bNotInGame=(Minecraft::GetInstance()->level==NULL); 61 if(bNotInGame) 62 { 63 m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,true); 64 m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); 65 } 66 else 67 { 68 m_parentLayer->showComponent(m_iPad,eUIComponent_Panorama,false); 69 70 if( app.GetLocalPlayerCount() == 1 ) m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,true); 71 else m_parentLayer->showComponent(m_iPad,eUIComponent_Logo,false); 72 73 } 74} 75 76UIScene_SettingsUIMenu::~UIScene_SettingsUIMenu() 77{ 78} 79 80wstring UIScene_SettingsUIMenu::getMoviePath() 81{ 82 if(app.GetLocalPlayerCount() > 1) 83 { 84 return L"SettingsUIMenuSplit"; 85 } 86 else 87 { 88 return L"SettingsUIMenu"; 89 } 90} 91 92void UIScene_SettingsUIMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled) 93{ 94 ui.AnimateKeyPress(iPad, key, repeat, pressed, released); 95 96 switch(key) 97 { 98 case ACTION_MENU_CANCEL: 99 if(pressed) 100 { 101 // check the checkboxes 102 app.SetGameSettings(m_iPad,eGameSetting_DisplayHUD,m_checkboxDisplayHUD.IsChecked()?1:0); 103 app.SetGameSettings(m_iPad,eGameSetting_DisplayHand,m_checkboxDisplayHand.IsChecked()?1:0); 104 app.SetGameSettings(m_iPad,eGameSetting_DisplaySplitscreenGamertags,m_checkboxShowSplitscreenGamertags.IsChecked()?1:0); 105 app.SetGameSettings(m_iPad,eGameSetting_DeathMessages,m_checkboxDisplayDeathMessages.IsChecked()?1:0); 106 app.SetGameSettings(m_iPad,eGameSetting_AnimatedCharacter,m_checkboxDisplayAnimatedCharacter.IsChecked()?1:0); 107 108 // if the splitscreen vertical/horizontal has changed, need to update the scenes 109 if(app.GetGameSettings(m_iPad,eGameSetting_SplitScreenVertical)!=(m_checkboxSplitscreen.IsChecked()?1:0)) 110 { 111 // changed 112 app.SetGameSettings(m_iPad,eGameSetting_SplitScreenVertical,m_checkboxSplitscreen.IsChecked()?1:0); 113 114 // close the xui scenes, so we don't have the navigate backed to menu at the wrong place 115 if(app.GetLocalPlayerCount()==2) 116 { 117 ui.CloseAllPlayersScenes(); 118 } 119 else 120 { 121 navigateBack(); 122 } 123 } 124 else 125 { 126 navigateBack(); 127 } 128 handled = true; 129 } 130 break; 131 case ACTION_MENU_OK: 132#ifdef __ORBIS__ 133 case ACTION_MENU_TOUCHPAD_PRESS: 134#endif 135 sendInputToMovie(key, repeat, pressed, released); 136 break; 137 case ACTION_MENU_UP: 138 case ACTION_MENU_DOWN: 139 case ACTION_MENU_LEFT: 140 case ACTION_MENU_RIGHT: 141 sendInputToMovie(key, repeat, pressed, released); 142 break; 143 } 144} 145 146void UIScene_SettingsUIMenu::handleSliderMove(F64 sliderId, F64 currentValue) 147{ 148 WCHAR TempString[256]; 149 int value = (int)currentValue; 150 switch((int)sliderId) 151 { 152 case eControl_UISize: 153 m_sliderUISize.handleSliderMove(value); 154 155 swprintf( (WCHAR *)TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_UISIZE ),value); 156 m_sliderUISize.setLabel(TempString); 157 158 // is this different from the current value? 159 if(value != app.GetGameSettings(m_iPad,eGameSetting_UISize)+1) 160 { 161 app.SetGameSettings(m_iPad,eGameSetting_UISize,value-1); 162 // Apply the changes to the selected text position 163 ui.UpdateSelectedItemPos(m_iPad); 164 } 165 166 break; 167 case eControl_UISizeSplitscreen: 168 m_sliderUISizeSplitscreen.handleSliderMove(value); 169 170 swprintf( (WCHAR *)TempString, 256, L"%ls: %d", app.GetString( IDS_SLIDER_UISIZESPLITSCREEN ),value); 171 m_sliderUISizeSplitscreen.setLabel(TempString); 172 173 if(value != app.GetGameSettings(m_iPad,eGameSetting_UISizeSplitscreen)+1) 174 { 175 // slider is 1 to 3 176 app.SetGameSettings(m_iPad,eGameSetting_UISizeSplitscreen,value-1); 177 // Apply the changes to the selected text position 178 ui.UpdateSelectedItemPos(m_iPad); 179 } 180 181 break; 182 } 183}