the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 136 lines 3.6 kB view raw
1#include "stdafx.h" 2#include "XUI_TrialExitUpsell.h" 3 4// wchImages[TRIAL_EXIT_UPSELL_IMAGE_COUNT] 5WCHAR *CScene_TrialExitUpsell::wchImages[]= 6{ 7 L"Graphics/UpsellScreenshots/Screenshot1.png", 8 L"Graphics/UpsellScreenshots/Screenshot2.png", 9 L"Graphics/UpsellScreenshots/Screenshot3.png", 10 L"Graphics/UpsellScreenshots/Screenshot4.png", 11 L"Graphics/UpsellScreenshots/Screenshot5.png", 12 L"Graphics/UpsellScreenshots/Screenshot6.png", 13 L"Graphics/UpsellScreenshots/Screenshot7.png", 14 L"Graphics/UpsellScreenshots/Screenshot8.png" 15}; 16 17//---------------------------------------------------------------------------------- 18// Performs initialization tasks - retrieves controls. 19//---------------------------------------------------------------------------------- 20HRESULT CScene_TrialExitUpsell::OnInit( XUIMessageInit* pInitData, BOOL& bHandled ) 21{ 22 m_iPad=*(int *)pInitData->pvInitData; 23 24 MapChildControls(); 25 26 m_bCanExit = true; 27 m_bFadeStarted = false; 28 m_bShowingImage1 = true; 29 m_imagesShown = 0; 30 31 m_image1.SetImagePath( wchImages[m_imagesShown] ); 32 SetTimer( 0, TRIAL_EXIT_UPSELL_IMAGE_DISPLAY_TIME); 33 34 CXuiSceneBase::ShowBackground(DEFAULT_XUI_MENU_USER , FALSE); 35 CXuiSceneBase::ShowLogo(DEFAULT_XUI_MENU_USER , FALSE); 36 37 if( m_bCanExit ) 38 { 39 ui.SetTooltips( DEFAULT_XUI_MENU_USER, IDS_EXIT_GAME,IDS_TOOLTIPS_BACK, IDS_UNLOCK_TITLE); 40 } 41 else 42 { 43 ui.SetTooltips( DEFAULT_XUI_MENU_USER, -1,IDS_TOOLTIPS_BACK, IDS_UNLOCK_TITLE); 44 } 45 46 return S_OK; 47} 48 49HRESULT CScene_TrialExitUpsell::OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled) 50{ 51 // ignore repeats 52 if(pInputData->dwFlags&XUI_INPUT_FLAG_REPEAT) return S_OK; 53 54 ui.AnimateKeyPress(pInputData->UserIndex, pInputData->dwKeyCode); 55 56 HRESULT hr=S_OK; 57 58 // Explicitly handle B button presses 59 switch(pInputData->dwKeyCode) 60 { 61 case VK_PAD_A: 62#ifdef _XBOX 63 if( m_bCanExit ) 64 { 65 XLaunchNewImage(XLAUNCH_KEYWORD_DASH_ARCADE, 0); 66 } 67#endif 68 break; 69 case VK_PAD_B: 70 case VK_ESCAPE: 71 app.NavigateBack(pInputData->UserIndex); 72 rfHandled = TRUE; 73 break; 74 case VK_PAD_X: 75 if(ProfileManager.IsSignedIn(pInputData->UserIndex)) 76 { 77 TelemetryManager->RecordUpsellPresented(pInputData->UserIndex, eSen_UpsellID_Full_Version_Of_Game, app.m_dwOfferID); 78 ProfileManager.DisplayFullVersionPurchase(false,pInputData->UserIndex,eSen_UpsellID_Full_Version_Of_Game); 79 } 80 break; 81 } 82 83 return hr; 84} 85 86HRESULT CScene_TrialExitUpsell::OnTimelineEnd(HXUIOBJ hObjSource, BOOL& bHandled) 87{ 88 if(m_bFadeStarted) 89 { 90 m_bFadeStarted = false; 91 m_bShowingImage1 = !m_bShowingImage1; 92 // We start a timer so we know when this image has been displayed for the required time 93 return SetTimer( 0, TRIAL_EXIT_UPSELL_IMAGE_DISPLAY_TIME); 94 } 95 else 96 { 97 return S_OK; 98 } 99} 100 101HRESULT CScene_TrialExitUpsell::OnTimer( XUIMessageTimer *pTimer, BOOL& bHandled ) 102{ 103 int nStart, nEnd; 104 105 KillTimer(0); 106 107 ++m_imagesShown; 108 if( m_imagesShown >= TRIAL_EXIT_UPSELL_IMAGE_COUNT ) 109 { 110 m_imagesShown = 0; //Loop round to the start 111 m_bCanExit = true; 112 113 ui.SetTooltips( DEFAULT_XUI_MENU_USER, IDS_EXIT_GAME,IDS_TOOLTIPS_BACK, IDS_UNLOCK_TITLE); 114 } 115 116 if( m_bShowingImage1 ) 117 { 118 m_image2.SetImagePath( wchImages[m_imagesShown] ); 119 120 FindNamedFrame( L"Fade1to2", &nStart ); 121 FindNamedFrame( L"EndFade1to2", &nEnd ); 122 PlayTimeline( nStart, nStart, nEnd, FALSE, TRUE ); 123 m_bFadeStarted = true; 124 } 125 else 126 { 127 m_image1.SetImagePath( wchImages[m_imagesShown] ); 128 129 FindNamedFrame( L"Fade2to1", &nStart ); 130 FindNamedFrame( L"EndFade2to1", &nEnd ); 131 PlayTimeline( nStart, nStart, nEnd, FALSE, TRUE ); 132 m_bFadeStarted = true; 133 } 134 135 return S_OK; 136}