Files
MinecraftPS3Edition/Minecraft.Client/Common/UI/UIScene_Intro.cpp
T
2026-03-08 15:26:08 -05:00

125 lines
3.0 KiB
C++

#include "stdafx.h"
#include "UI.h"
#include "UIScene_Intro.h"
UIScene_Intro::UIScene_Intro(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer)
{
// Setup all the Iggy references we need for this scene
initialiseMovie();
m_bIgnoreNavigate = false;
m_bAnimationEnded = false;
bool bSkipESRB = false;
#if defined(__PS3__)
bSkipESRB = app.GetProductSKU() != e_sku_SCEA;
#endif
// 4J Stu - These map to values in the Actionscript
#if defined(__PS3__)
int platformIdx = 3;
#endif
IggyDataValue result;
IggyDataValue value[2];
value[0].type = IGGY_DATATYPE_number;
value[0].number = platformIdx;
value[1].type = IGGY_DATATYPE_boolean;
value[1].boolval = bSkipESRB;
IggyResult out = IggyPlayerCallMethodRS ( getMovie() , &result, IggyPlayerRootPath( getMovie() ), m_funcSetIntroPlatform , 2 , value );
}
wstring UIScene_Intro::getMoviePath()
{
return L"Intro";
}
void UIScene_Intro::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled)
{
ui.AnimateKeyPress(m_iPad, key, repeat, pressed, released);
switch(key)
{
case ACTION_MENU_OK:
if(!m_bIgnoreNavigate)
{
m_bIgnoreNavigate = true;
//ui.NavigateToHomeMenu();
#if defined(__PS3__)
// has the user seen the EULA already ? We need their options file loaded for this
C4JStorage::eOptionsCallback eStatus=app.GetOptionsCallbackStatus(0);
switch(eStatus)
{
case C4JStorage::eOptions_Callback_Read:
case C4JStorage::eOptions_Callback_Read_FileNotFound:
// we've either read it, or it wasn't found
if(app.GetGameSettings(0,eGameSetting_PS3_EULA_Read)==0)
{
ui.NavigateToScene(0,eUIScene_EULA);
}
else
{
ui.NavigateToScene(0,eUIScene_SaveMessage);
}
break;
default:
ui.NavigateToScene(0,eUIScene_EULA);
break;
}
#else
ui.NavigateToScene(0,eUIScene_SaveMessage);
#endif
}
break;
}
}
void UIScene_Intro::handleAnimationEnd()
{
if(!m_bIgnoreNavigate)
{
m_bIgnoreNavigate = true;
//ui.NavigateToHomeMenu();
#if defined(__PS3__)
// has the user seen the EULA already ? We need their options file loaded for this
C4JStorage::eOptionsCallback eStatus=app.GetOptionsCallbackStatus(0);
switch(eStatus)
{
case C4JStorage::eOptions_Callback_Read:
case C4JStorage::eOptions_Callback_Read_FileNotFound:
// we've either read it, or it wasn't found
if(app.GetGameSettings(0,eGameSetting_PS3_EULA_Read)==0)
{
ui.NavigateToScene(0,eUIScene_EULA);
}
else
{
ui.NavigateToScene(0,eUIScene_SaveMessage);
}
break;
default:
ui.NavigateToScene(0,eUIScene_EULA);
break;
}
#else
ui.NavigateToScene(0,eUIScene_SaveMessage);
#endif
}
}
void UIScene_Intro::handleGainFocus(bool navBack)
{
// Only relevant on xbox one - if we didn't navigate to the main menu at animation end due to the timer or quadrant sign-in being up, then we'll need to
// do it now in case the user has cancelled or joining a game failed
if( m_bAnimationEnded )
{
ui.NavigateToScene(0,eUIScene_MainMenu);
}
}