Add UseIconMetrics, for ignoring X, Y, OnCommand, and OffCommand in metrics.ini and using whateve is in xml

This commit is contained in:
Chris Danford
2006-01-30 08:12:24 +00:00
parent f96c1296d1
commit ed01c6b9b3
2 changed files with 23 additions and 12 deletions
+22 -12
View File
@@ -29,6 +29,7 @@ void ScreenSelectMaster::Init()
SHOW_SCROLLER.Load( m_sName, "ShowScroller" ); SHOW_SCROLLER.Load( m_sName, "ShowScroller" );
SHOW_CURSOR.Load( m_sName, "ShowCursor" ); SHOW_CURSOR.Load( m_sName, "ShowCursor" );
SHARED_SELECTION.Load( m_sName, "SharedSelection" ); SHARED_SELECTION.Load( m_sName, "SharedSelection" );
USE_ICON_METRICS.Load( m_sName, "UseIconMetrics" );
NUM_CHOICES_ON_PAGE_1.Load( m_sName, "NumChoicesOnPage1" ); NUM_CHOICES_ON_PAGE_1.Load( m_sName, "NumChoicesOnPage1" );
CURSOR_OFFSET_X_FROM_ICON.Load( m_sName, CURSOR_OFFSET_X_FROM_ICON_NAME, NUM_PLAYERS ); CURSOR_OFFSET_X_FROM_ICON.Load( m_sName, CURSOR_OFFSET_X_FROM_ICON_NAME, NUM_PLAYERS );
CURSOR_OFFSET_Y_FROM_ICON.Load( m_sName, CURSOR_OFFSET_Y_FROM_ICON_NAME, NUM_PLAYERS ); CURSOR_OFFSET_Y_FROM_ICON.Load( m_sName, CURSOR_OFFSET_Y_FROM_ICON_NAME, NUM_PLAYERS );
@@ -103,8 +104,8 @@ void ScreenSelectMaster::Init()
vs.push_back( "Choice" + mc.m_sName ); vs.push_back( "Choice" + mc.m_sName );
RString sElement = join( " ", vs ); RString sElement = join( " ", vs );
m_vsprIcon[c].Load( THEME->GetPathG(m_sName,sElement) ); m_vsprIcon[c].Load( THEME->GetPathG(m_sName,sElement) );
sElement.Replace( " ", "" ); RString sName = "Icon" "Choice" + mc.m_sName;
m_vsprIcon[c]->SetName( sElement ); m_vsprIcon[c]->SetName( sName );
this->AddChild( m_vsprIcon[c] ); this->AddChild( m_vsprIcon[c] );
} }
@@ -114,15 +115,17 @@ void ScreenSelectMaster::Init()
FOREACH( PlayerNumber, vpns, p ) FOREACH( PlayerNumber, vpns, p )
{ {
vector<RString> vs; vector<RString> vs;
vs.push_back( "scroll" ); vs.push_back( "Scroll" );
if( PER_CHOICE_SCROLL_ELEMENT ) if( PER_CHOICE_SCROLL_ELEMENT )
vs.push_back( "choice" + mc.m_sName ); vs.push_back( "Choice" + mc.m_sName );
if( !SHARED_SELECTION ) if( !SHARED_SELECTION )
vs.push_back( PLAYER_APPEND_NO_SPACE(*p) ); vs.push_back( PLAYER_APPEND_NO_SPACE(*p) );
RString sElement = join( " ", vs ); RString sElement = join( " ", vs );
m_vsprScroll[*p][c].Load( THEME->GetPathG(m_sName,sElement) ); m_vsprScroll[*p][c].Load( THEME->GetPathG(m_sName,sElement) );
sElement.Replace( " ", "" ); RString sName = "Scroll" "Choice" + mc.m_sName;
m_vsprScroll[*p][c]->SetName( sElement ); if( !SHARED_SELECTION )
sName += PLAYER_APPEND_NO_SPACE(*p);
m_vsprScroll[*p][c]->SetName( sName );
m_Scroller[*p].AddChild( m_vsprScroll[*p][c] ); m_Scroller[*p].AddChild( m_vsprScroll[*p][c] );
} }
@@ -776,7 +779,10 @@ void ScreenSelectMaster::TweenOnScreen()
{ {
m_vsprIcon[c]->PlayCommand( (int(c) == m_iChoice[0])? "GainFocus":"LoseFocus" ); m_vsprIcon[c]->PlayCommand( (int(c) == m_iChoice[0])? "GainFocus":"LoseFocus" );
m_vsprIcon[c]->FinishTweening(); m_vsprIcon[c]->FinishTweening();
SET_XY_AND_ON_COMMAND( m_vsprIcon[c] ); if( USE_ICON_METRICS )
SET_XY_AND_ON_COMMAND( m_vsprIcon[c] );
else
m_vsprIcon[c]->PlayCommand( "On" );
} }
} }
@@ -849,23 +855,27 @@ void ScreenSelectMaster::TweenOffScreen()
if( GetPage(c) != GetCurrentPage() ) if( GetPage(c) != GetCurrentPage() )
continue; // skip continue; // skip
bool SelectedByEitherPlayer = false; bool bSelectedByEitherPlayer = false;
FOREACH( PlayerNumber, vpns, p ) FOREACH( PlayerNumber, vpns, p )
{ {
if( m_iChoice[*p] == (int)c ) if( m_iChoice[*p] == (int)c )
SelectedByEitherPlayer = true; bSelectedByEitherPlayer = true;
} }
if( SHOW_ICON ) if( SHOW_ICON )
{ {
OFF_COMMAND( m_vsprIcon[c] ); if( USE_ICON_METRICS )
m_vsprIcon[c]->PlayCommand( SelectedByEitherPlayer? "OffFocused":"OffUnfocused" ); OFF_COMMAND( m_vsprIcon[c] );
else
m_vsprIcon[c]->PlayCommand( "Off" );
m_vsprIcon[c]->PlayCommand( bSelectedByEitherPlayer? "OffFocused":"OffUnfocused" );
} }
if( SHOW_SCROLLER ) if( SHOW_SCROLLER )
{ {
FOREACH( PlayerNumber, vpns, p ) FOREACH( PlayerNumber, vpns, p )
COMMAND( m_vsprScroll[*p][c], SelectedByEitherPlayer? "OffFocused":"OffUnfocused" ); m_vsprScroll[*p][c]->PlayCommand( bSelectedByEitherPlayer? "OffFocused":"OffUnfocused" );
} }
} }
+1
View File
@@ -36,6 +36,7 @@ protected:
ThemeMetric<bool> SHOW_SCROLLER; ThemeMetric<bool> SHOW_SCROLLER;
ThemeMetric<bool> SHOW_CURSOR; ThemeMetric<bool> SHOW_CURSOR;
ThemeMetric<bool> SHARED_SELECTION; ThemeMetric<bool> SHARED_SELECTION;
ThemeMetric<bool> USE_ICON_METRICS;
ThemeMetric<int> NUM_CHOICES_ON_PAGE_1; ThemeMetric<int> NUM_CHOICES_ON_PAGE_1;
ThemeMetric1D<float> CURSOR_OFFSET_X_FROM_ICON; ThemeMetric1D<float> CURSOR_OFFSET_X_FROM_ICON;
ThemeMetric1D<float> CURSOR_OFFSET_Y_FROM_ICON; ThemeMetric1D<float> CURSOR_OFFSET_Y_FROM_ICON;