virtual TweenOffScreen

add TweenOnScreen.  This only sends OnCommands, not XY, since it should be
the inverse of TweenOffScreen (and eventually, maybe screens can simply
play On/Off recursively).
This commit is contained in:
Glenn Maynard
2005-07-14 22:36:50 +00:00
parent 50a31993a6
commit 0158fa774b
2 changed files with 47 additions and 10 deletions
+45 -9
View File
@@ -43,7 +43,7 @@ void ScreenWithMenuElements::Init()
m_autoHeader.Load( THEME->GetPathG(m_sName,"header") ); m_autoHeader.Load( THEME->GetPathG(m_sName,"header") );
m_autoHeader->SetName("Header"); m_autoHeader->SetName("Header");
SET_XY_AND_ON_COMMAND( m_autoHeader ); SET_XY( m_autoHeader );
this->AddChild( m_autoHeader ); this->AddChild( m_autoHeader );
if( STYLE_ICON && GAMESTATE->m_pCurStyle ) if( STYLE_ICON && GAMESTATE->m_pCurStyle )
@@ -52,7 +52,7 @@ void ScreenWithMenuElements::Init()
m_sprStyleIcon.Load( THEME->GetPathG("MenuElements",CString("icon ")+GAMESTATE->GetCurrentStyle()->m_szName) ); m_sprStyleIcon.Load( THEME->GetPathG("MenuElements",CString("icon ")+GAMESTATE->GetCurrentStyle()->m_szName) );
m_sprStyleIcon.StopAnimating(); m_sprStyleIcon.StopAnimating();
m_sprStyleIcon.SetState( GAMESTATE->m_MasterPlayerNumber ); m_sprStyleIcon.SetState( GAMESTATE->m_MasterPlayerNumber );
SET_XY_AND_ON_COMMAND( m_sprStyleIcon ); SET_XY( m_sprStyleIcon );
this->AddChild( &m_sprStyleIcon ); this->AddChild( &m_sprStyleIcon );
} }
@@ -73,7 +73,7 @@ void ScreenWithMenuElements::Init()
FOREACH_CONST( Stage, vStages, s ) FOREACH_CONST( Stage, vStages, s )
{ {
SET_XY_AND_ON_COMMAND( m_sprStage[*s] ); SET_XY( m_sprStage[*s] );
this->AddChild( m_sprStage[*s] ); this->AddChild( m_sprStage[*s] );
} }
} }
@@ -84,7 +84,7 @@ void ScreenWithMenuElements::Init()
{ {
m_MemoryCardDisplay[p].Load( p ); m_MemoryCardDisplay[p].Load( p );
m_MemoryCardDisplay[p].SetName( ssprintf("MemoryCardDisplayP%d",p+1) ); m_MemoryCardDisplay[p].SetName( ssprintf("MemoryCardDisplayP%d",p+1) );
SET_XY_AND_ON_COMMAND( m_MemoryCardDisplay[p] ); SET_XY( m_MemoryCardDisplay[p] );
this->AddChild( &m_MemoryCardDisplay[p] ); this->AddChild( &m_MemoryCardDisplay[p] );
} }
} }
@@ -95,32 +95,32 @@ void ScreenWithMenuElements::Init()
m_MenuTimer->SetName( "Timer" ); m_MenuTimer->SetName( "Timer" );
if( TIMER_STEALTH ) if( TIMER_STEALTH )
m_MenuTimer->EnableStealth( true ); m_MenuTimer->EnableStealth( true );
SET_XY_AND_ON_COMMAND( m_MenuTimer ); SET_XY( m_MenuTimer );
ResetTimer(); ResetTimer();
this->AddChild( m_MenuTimer ); this->AddChild( m_MenuTimer );
} }
m_autoFooter.Load( THEME->GetPathG(m_sName,"footer") ); m_autoFooter.Load( THEME->GetPathG(m_sName,"footer") );
m_autoFooter->SetName("Footer"); m_autoFooter->SetName("Footer");
SET_XY_AND_ON_COMMAND( m_autoFooter ); SET_XY( m_autoFooter );
this->AddChild( m_autoFooter ); this->AddChild( m_autoFooter );
m_textHelp->SetName( "Help" ); m_textHelp->SetName( "Help" );
m_textHelp->Load( "HelpDisplay" ); m_textHelp->Load( "HelpDisplay" );
SET_XY_AND_ON_COMMAND( m_textHelp ); SET_XY( m_textHelp );
LoadHelpText(); LoadHelpText();
this->AddChild( m_textHelp ); this->AddChild( m_textHelp );
m_sprUnderlay.Load( THEME->GetPathB(m_sName,"underlay") ); m_sprUnderlay.Load( THEME->GetPathB(m_sName,"underlay") );
m_sprUnderlay->SetName("Underlay"); m_sprUnderlay->SetName("Underlay");
m_sprUnderlay->SetDrawOrder( DRAW_ORDER_UNDERLAY ); m_sprUnderlay->SetDrawOrder( DRAW_ORDER_UNDERLAY );
SET_XY_AND_ON_COMMAND( m_sprUnderlay ); SET_XY( m_sprUnderlay );
this->AddChild( m_sprUnderlay ); this->AddChild( m_sprUnderlay );
m_sprOverlay.Load( THEME->GetPathB(m_sName,"overlay") ); m_sprOverlay.Load( THEME->GetPathB(m_sName,"overlay") );
m_sprOverlay->SetName("Overlay"); m_sprOverlay->SetName("Overlay");
m_sprOverlay->SetDrawOrder( DRAW_ORDER_OVERLAY ); m_sprOverlay->SetDrawOrder( DRAW_ORDER_OVERLAY );
SET_XY_AND_ON_COMMAND( m_sprOverlay ); SET_XY( m_sprOverlay );
this->AddChild( m_sprOverlay ); this->AddChild( m_sprOverlay );
m_In.SetName( "In" ); m_In.SetName( "In" );
@@ -140,9 +140,45 @@ void ScreenWithMenuElements::Init()
this->SortByDrawOrder(); this->SortByDrawOrder();
TweenOnScreen();
m_In.StartTransitioning( SM_DoneFadingIn ); m_In.StartTransitioning( SM_DoneFadingIn );
} }
void ScreenWithMenuElements::TweenOnScreen()
{
ON_COMMAND( m_autoHeader );
if( STYLE_ICON && GAMESTATE->m_pCurStyle )
ON_COMMAND( m_sprStyleIcon );
if( SHOW_STAGE && GAMESTATE->m_pCurStyle )
{
// UpdateStage to hide/show the appropriate stage graphic. Do this before
// running the OnCommand so that it won't override the OnCommand if On chooses
// to hide the graphic.
UpdateStage();
vector<Stage> vStages;
GAMESTATE->GetPossibleStages( vStages );
FOREACH_CONST( Stage, vStages, s )
ON_COMMAND( m_sprStage[*s] );
}
if( MEMORY_CARD_ICONS )
{
FOREACH_PlayerNumber( p )
ON_COMMAND( m_MemoryCardDisplay[p] );
}
if( m_bTimerEnabled )
ON_COMMAND( m_MenuTimer );
ON_COMMAND( m_autoFooter );
ON_COMMAND( m_textHelp );
ON_COMMAND( m_sprUnderlay );
ON_COMMAND( m_sprOverlay );
}
ScreenWithMenuElements::~ScreenWithMenuElements() ScreenWithMenuElements::~ScreenWithMenuElements()
{ {
SAFE_DELETE( m_MenuTimer ); SAFE_DELETE( m_MenuTimer );
+2 -1
View File
@@ -28,7 +28,8 @@ public:
void StopTimer(); void StopTimer();
void ResetTimer(); void ResetTimer();
void TweenOffScreen(); virtual void TweenOnScreen();
virtual void TweenOffScreen();
// //
// Lua // Lua