If not shared selection, load everything in init. Don't SET_XY, just do that all in OnCommand.

This commit is contained in:
Steve Checkoway
2007-06-09 21:49:51 +00:00
parent 9ef3b2b838
commit 8c31e4126e
+14 -13
View File
@@ -73,7 +73,7 @@ void ScreenSelectMaster::Init()
} }
else else
{ {
FOREACH_HumanPlayer( p ) FOREACH_ENUM( PlayerNumber, p )
vpns.push_back( p ); vpns.push_back( p );
} }
@@ -121,7 +121,7 @@ void ScreenSelectMaster::Init()
RString sName = "Icon" "Choice" + mc.m_sName; RString sName = "Icon" "Choice" + mc.m_sName;
m_vsprIcon[c]->SetName( sName ); m_vsprIcon[c]->SetName( sName );
if( USE_ICON_METRICS ) if( USE_ICON_METRICS )
LOAD_ALL_COMMANDS_AND_SET_XY( m_vsprIcon[c] ); LOAD_ALL_COMMANDS( m_vsprIcon[c] );
this->AddChild( m_vsprIcon[c] ); this->AddChild( m_vsprIcon[c] );
} }
@@ -162,7 +162,7 @@ void ScreenSelectMaster::Init()
m_Scroller[*p].SetSecondsPerItem( SCROLLER_SECONDS_PER_ITEM ); m_Scroller[*p].SetSecondsPerItem( SCROLLER_SECONDS_PER_ITEM );
m_Scroller[*p].SetNumSubdivisions( SCROLLER_SUBDIVISIONS ); m_Scroller[*p].SetNumSubdivisions( SCROLLER_SUBDIVISIONS );
m_Scroller[*p].SetName( "Scroller"+PLAYER_APPEND_NO_SPACE(*p) ); m_Scroller[*p].SetName( "Scroller"+PLAYER_APPEND_NO_SPACE(*p) );
LOAD_ALL_COMMANDS_AND_SET_XY( m_Scroller[*p] ); LOAD_ALL_COMMANDS( m_Scroller[*p] );
this->AddChild( &m_Scroller[*p] ); this->AddChild( &m_Scroller[*p] );
} }
} }
@@ -171,12 +171,12 @@ void ScreenSelectMaster::Init()
{ {
m_sprMore[page].Load( THEME->GetPathG(m_sName, ssprintf("more page%d",page+1)) ); m_sprMore[page].Load( THEME->GetPathG(m_sName, ssprintf("more page%d",page+1)) );
m_sprMore[page]->SetName( ssprintf("MorePage%d",page+1) ); m_sprMore[page]->SetName( ssprintf("MorePage%d",page+1) );
LOAD_ALL_COMMANDS_AND_SET_XY( m_sprMore[page] ); LOAD_ALL_COMMANDS( m_sprMore[page] );
this->AddChild( m_sprMore[page] ); this->AddChild( m_sprMore[page] );
m_sprExplanation[page].Load( THEME->GetPathG(m_sName, ssprintf("explanation page%d",page+1)) ); m_sprExplanation[page].Load( THEME->GetPathG(m_sName, ssprintf("explanation page%d",page+1)) );
m_sprExplanation[page]->SetName( ssprintf("ExplanationPage%d",page+1) ); m_sprExplanation[page]->SetName( ssprintf("ExplanationPage%d",page+1) );
LOAD_ALL_COMMANDS_AND_SET_XY( m_sprExplanation[page] ); LOAD_ALL_COMMANDS( m_sprExplanation[page] );
this->AddChild( m_sprExplanation[page] ); this->AddChild( m_sprExplanation[page] );
} }
@@ -260,16 +260,17 @@ void ScreenSelectMaster::BeginScreen()
CLAMP( m_iChoice[p], 0, (int)m_aGameCommands.size()-1 ); CLAMP( m_iChoice[p], 0, (int)m_aGameCommands.size()-1 );
m_bChosen[p] = false; m_bChosen[p] = false;
} }
if( !SHARED_SELECTION )
vector<PlayerNumber> vpns;
if( SHARED_SELECTION )
{ {
vpns.push_back( PLAYER_1 ); FOREACH_ENUM( PlayerNumber, pn )
{
if( GAMESTATE->IsHumanPlayer(pn) )
continue;
if( SHOW_CURSOR )
m_sprCursor[pn]->SetVisible( false );
if( SHOW_SCROLLER )
m_Scroller[pn].SetVisible( false );
} }
else
{
FOREACH_HumanPlayer( p )
vpns.push_back( p );
} }
this->UpdateSelectableChoices(); this->UpdateSelectableChoices();