cleanup: load On/GainFocus/LoseFocus with ActorUtil::LoadAllCommands instead of explicitly loading each
This commit is contained in:
+53
-55
@@ -29,8 +29,6 @@ RString OptionRow::GetThemedItemText( int iChoice ) const
|
|||||||
s = CommonMetrics::LocalizeOptionItem( EXIT_NAME, false );
|
s = CommonMetrics::LocalizeOptionItem( EXIT_NAME, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( m_pParentType->CAPITALIZE_ALL_OPTION_NAMES )
|
|
||||||
s.MakeUpper();
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,47 +78,52 @@ void OptionRow::Clear()
|
|||||||
ZERO( m_iChoiceInRowWithFocus );
|
ZERO( m_iChoiceInRowWithFocus );
|
||||||
}
|
}
|
||||||
|
|
||||||
void OptionRowType::Load( const RString &sType, Actor *pParent )
|
void OptionRowType::Load( const RString &sMetricsGroup, Actor *pParent )
|
||||||
{
|
{
|
||||||
m_sType = sType;
|
m_sMetricsGroup = sMetricsGroup;
|
||||||
|
|
||||||
FRAME_X .Load(sType,"FrameX");
|
FRAME_X .Load(sMetricsGroup,"FrameX");
|
||||||
FRAME_ON_COMMAND .Load(sType,"FrameOnCommand");
|
TITLE_X .Load(sMetricsGroup,"TitleX");
|
||||||
TITLE_X .Load(sType,"TitleX");
|
ITEMS_START_X .Load(sMetricsGroup,"ItemsStartX");
|
||||||
TITLE_ON_COMMAND .Load(sType,"TitleOnCommand");
|
ITEMS_END_X .Load(sMetricsGroup,"ItemsEndX");
|
||||||
TITLE_GAIN_FOCUS_COMMAND .Load(sType,"TitleGainFocusCommand");
|
ITEMS_GAP_X .Load(sMetricsGroup,"ItemsGapX");
|
||||||
TITLE_LOSE_FOCUS_COMMAND .Load(sType,"TitleLoseFocusCommand");
|
ITEMS_MIN_BASE_ZOOM .Load(sMetricsGroup,"ItemsMinBaseZoom");
|
||||||
ITEMS_START_X .Load(sType,"ItemsStartX");
|
ITEMS_LONG_ROW_X .Load(sMetricsGroup,ITEMS_LONG_ROW_X_NAME,NUM_PLAYERS);
|
||||||
ITEMS_END_X .Load(sType,"ItemsEndX");
|
ITEMS_LONG_ROW_SHARED_X .Load(sMetricsGroup,"ItemsLongRowSharedX");
|
||||||
ITEMS_GAP_X .Load(sType,"ItemsGapX");
|
EXIT_HIDE_ITEM .Load(sMetricsGroup,"ExitHideItem");
|
||||||
ITEMS_MIN_BASE_ZOOM .Load(sType,"ItemsMinBaseZoom");
|
MOD_ICON_X .Load(sMetricsGroup,MOD_ICON_X_NAME,NUM_PLAYERS);
|
||||||
ITEMS_LONG_ROW_X .Load(sType,ITEMS_LONG_ROW_X_NAME,NUM_PLAYERS);
|
MOD_ICON_ON_COMMAND .Load(sMetricsGroup,"ModIconOnCommand");
|
||||||
ITEMS_LONG_ROW_SHARED_X .Load(sType,"ItemsLongRowSharedX");
|
COLOR_SELECTED .Load(sMetricsGroup,"ColorSelected");
|
||||||
ITEMS_ON_COMMAND .Load(sType,"ItemsOnCommand");
|
COLOR_NOT_SELECTED .Load(sMetricsGroup,"ColorNotSelected");
|
||||||
ITEM_GAIN_FOCUS_COMMAND .Load(sType,"ItemGainFocusCommand");
|
COLOR_DISABLED .Load(sMetricsGroup,"ColorDisabled");
|
||||||
ITEM_LOSE_FOCUS_COMMAND .Load(sType,"ItemLoseFocusCommand");
|
TWEEN_SECONDS .Load(sMetricsGroup,"TweenSeconds");
|
||||||
EXIT_HIDE_ITEM .Load(sType,"ExitHideItem");
|
SHOW_BPM_IN_SPEED_TITLE .Load(sMetricsGroup,"ShowBpmInSpeedTitle");
|
||||||
MOD_ICON_X .Load(sType,MOD_ICON_X_NAME,NUM_PLAYERS);
|
SHOW_MOD_ICONS .Load(sMetricsGroup,"ShowModIcons");
|
||||||
MOD_ICON_ON_COMMAND .Load(sType,"ModIconOnCommand");
|
SHOW_UNDERLINES .Load(sMetricsGroup,"ShowUnderlines");
|
||||||
COLOR_SELECTED .Load(sType,"ColorSelected");
|
MOD_ICON_METRICS_GROUP .Load(sMetricsGroup,"ModIconMetricsGroup");
|
||||||
COLOR_NOT_SELECTED .Load(sType,"ColorNotSelected");
|
|
||||||
COLOR_DISABLED .Load(sType,"ColorDisabled");
|
m_textItem.LoadFromFont( THEME->GetPathF(sMetricsGroup,"Item") );
|
||||||
CAPITALIZE_ALL_OPTION_NAMES .Load(sType,"CapitalizeAllOptionNames");
|
m_textItem.SetName( "Item" );
|
||||||
TWEEN_SECONDS .Load(sType,"TweenSeconds");
|
ActorUtil::LoadAllCommands( m_textItem, sMetricsGroup );
|
||||||
SHOW_BPM_IN_SPEED_TITLE .Load(sType,"ShowBpmInSpeedTitle");
|
|
||||||
SHOW_MOD_ICONS .Load(sType,"ShowModIcons");
|
|
||||||
SHOW_UNDERLINES .Load(sType,"ShowUnderlines");
|
|
||||||
MOD_ICON_METRICS_GROUP .Load(sType,"ModIconMetricsGroup");
|
|
||||||
|
|
||||||
m_textItem.LoadFromFont( THEME->GetPathF(sType,"item") );
|
|
||||||
if( SHOW_UNDERLINES )
|
if( SHOW_UNDERLINES )
|
||||||
{
|
{
|
||||||
FOREACH_PlayerNumber( p )
|
FOREACH_PlayerNumber( p )
|
||||||
m_Underline[p].Load( sType, OptionsCursor::underline, p );
|
m_Underline[p].Load( "OptionsUnderline" + PlayerNumberToString(p) );
|
||||||
}
|
}
|
||||||
m_textTitle.LoadFromFont( THEME->GetPathF(sType,"title") );
|
|
||||||
m_sprFrameNormal.Load( ActorUtil::MakeActor( THEME->GetPathG(sType,"FrameNormal"), pParent ) );
|
m_textTitle.LoadFromFont( THEME->GetPathF(sMetricsGroup,"title") );
|
||||||
m_sprFrameExit.Load( ActorUtil::MakeActor( THEME->GetPathG(sType,"FrameExit"), pParent ) );
|
m_textTitle.SetName( "Title" );
|
||||||
|
ActorUtil::LoadAllCommands( m_textTitle, sMetricsGroup );
|
||||||
|
|
||||||
|
m_sprFrameNormal.Load( ActorUtil::MakeActor( THEME->GetPathG(sMetricsGroup,"FrameNormal"), pParent ) );
|
||||||
|
m_sprFrameNormal->SetName( "Frame" );
|
||||||
|
ActorUtil::LoadAllCommands( m_sprFrameNormal, sMetricsGroup );
|
||||||
|
|
||||||
|
m_sprFrameExit.Load( ActorUtil::MakeActor( THEME->GetPathG(sMetricsGroup,"FrameExit"), pParent ) );
|
||||||
|
m_sprFrameExit->SetName( "Frame" );
|
||||||
|
ActorUtil::LoadAllCommands( m_sprFrameExit, sMetricsGroup );
|
||||||
|
|
||||||
if( SHOW_MOD_ICONS )
|
if( SHOW_MOD_ICONS )
|
||||||
m_ModIcon.Load( MOD_ICON_METRICS_GROUP );
|
m_ModIcon.Load( MOD_ICON_METRICS_GROUP );
|
||||||
}
|
}
|
||||||
@@ -291,7 +294,7 @@ void OptionRow::InitText( RowType type )
|
|||||||
float fBaseZoom = 1.0f;
|
float fBaseZoom = 1.0f;
|
||||||
{
|
{
|
||||||
BitmapText bt( m_pParentType->m_textItem );
|
BitmapText bt( m_pParentType->m_textItem );
|
||||||
bt.RunCommands( m_pParentType->ITEMS_ON_COMMAND );
|
bt.PlayCommand( "On" );
|
||||||
|
|
||||||
/* Figure out the width of the row. */
|
/* Figure out the width of the row. */
|
||||||
float fWidth = 0;
|
float fWidth = 0;
|
||||||
@@ -330,8 +333,7 @@ void OptionRow::InitText( RowType type )
|
|||||||
BitmapText *pText = new BitmapText( m_pParentType->m_textItem );
|
BitmapText *pText = new BitmapText( m_pParentType->m_textItem );
|
||||||
m_textItems.push_back( pText );
|
m_textItems.push_back( pText );
|
||||||
|
|
||||||
pText->RunCommands( m_pParentType->ITEMS_ON_COMMAND );
|
pText->PlayCommand( "On" );
|
||||||
pText->SetShadowLength( 0 );
|
|
||||||
|
|
||||||
if( m_pHand->m_Def.m_bOneChoiceForAllPlayers )
|
if( m_pHand->m_Def.m_bOneChoiceForAllPlayers )
|
||||||
{
|
{
|
||||||
@@ -371,8 +373,7 @@ void OptionRow::InitText( RowType type )
|
|||||||
RString sText = GetThemedItemText( c );
|
RString sText = GetThemedItemText( c );
|
||||||
bt->SetText( sText );
|
bt->SetText( sText );
|
||||||
bt->SetBaseZoomX( fBaseZoom );
|
bt->SetBaseZoomX( fBaseZoom );
|
||||||
bt->RunCommands( m_pParentType->ITEMS_ON_COMMAND );
|
bt->PlayCommand( "On" );
|
||||||
bt->SetShadowLength( 0 );
|
|
||||||
|
|
||||||
// set the X position of each item in the line
|
// set the X position of each item in the line
|
||||||
float fItemWidth = bt->GetZoomedWidth();
|
float fItemWidth = bt->GetZoomedWidth();
|
||||||
@@ -410,13 +411,13 @@ void OptionRow::InitText( RowType type )
|
|||||||
// song selected, SHOW_BPM_IN_SPEED_TITLE will show the new BPM.
|
// song selected, SHOW_BPM_IN_SPEED_TITLE will show the new BPM.
|
||||||
//m_textTitle->SetText( GetRowTitle() );
|
//m_textTitle->SetText( GetRowTitle() );
|
||||||
m_textTitle->SetX( m_pParentType->TITLE_X );
|
m_textTitle->SetX( m_pParentType->TITLE_X );
|
||||||
m_textTitle->RunCommands( m_pParentType->TITLE_ON_COMMAND );
|
m_textTitle->PlayCommand( "On" );
|
||||||
|
|
||||||
switch( GetRowType() )
|
switch( GetRowType() )
|
||||||
{
|
{
|
||||||
case OptionRow::RowType_Normal:
|
case OptionRow::RowType_Normal:
|
||||||
m_sprFrame->SetX( m_pParentType->FRAME_X );
|
m_sprFrame->SetX( m_pParentType->FRAME_X );
|
||||||
m_sprFrame->RunCommands( m_pParentType->FRAME_ON_COMMAND );
|
m_sprFrame->PlayCommand( "On" );
|
||||||
break;
|
break;
|
||||||
case OptionRow::RowType_Exit:
|
case OptionRow::RowType_Exit:
|
||||||
m_sprFrame->SetVisible( false );
|
m_sprFrame->SetVisible( false );
|
||||||
@@ -580,22 +581,19 @@ void OptionRow::UpdateEnabledDisabled()
|
|||||||
|
|
||||||
bool bRowEnabled = !m_pHand->m_Def.m_vEnabledForPlayers.empty();
|
bool bRowEnabled = !m_pHand->m_Def.m_vEnabledForPlayers.empty();
|
||||||
|
|
||||||
if( bThisRowHasFocusByAny )
|
|
||||||
m_textTitle->RunCommands( m_pParentType->TITLE_GAIN_FOCUS_COMMAND );
|
|
||||||
else
|
|
||||||
m_textTitle->RunCommands( m_pParentType->TITLE_LOSE_FOCUS_COMMAND );
|
|
||||||
|
|
||||||
/* Don't tween selection colors at all. */
|
/* Don't tween selection colors at all. */
|
||||||
|
RString sCmdName;
|
||||||
|
if( bThisRowHasFocusByAny ) sCmdName = "GainFocus";
|
||||||
|
else if( bRowEnabled ) sCmdName = "LoseFocus";
|
||||||
|
else sCmdName = "Disabled";
|
||||||
|
|
||||||
RageColor color;
|
RageColor color;
|
||||||
if( bThisRowHasFocusByAny ) color = m_pParentType->COLOR_SELECTED;
|
if( bThisRowHasFocusByAny ) color = m_pParentType->COLOR_SELECTED;
|
||||||
else if( bRowEnabled ) color = m_pParentType->COLOR_NOT_SELECTED;
|
else if( bRowEnabled ) color = m_pParentType->COLOR_NOT_SELECTED;
|
||||||
else color = m_pParentType->COLOR_DISABLED;
|
else color = m_pParentType->COLOR_DISABLED;
|
||||||
|
|
||||||
if( m_sprFrame != NULL )
|
m_sprFrame->PlayCommand( sCmdName );
|
||||||
m_sprFrame->SetGlobalDiffuseColor( color );
|
m_textTitle->PlayCommand( sCmdName );
|
||||||
m_sprFrame->PlayCommand( bThisRowHasFocusByAny ? "GainFocus" : "LoseFocus" );
|
|
||||||
m_textTitle->SetGlobalDiffuseColor( color );
|
|
||||||
|
|
||||||
|
|
||||||
for( unsigned j=0; j<m_textItems.size(); j++ )
|
for( unsigned j=0; j<m_textItems.size(); j++ )
|
||||||
{
|
{
|
||||||
@@ -613,9 +611,9 @@ void OptionRow::UpdateEnabledDisabled()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( bThisItemHasFocusByAny )
|
if( bThisItemHasFocusByAny )
|
||||||
m_textItems[j]->RunCommands( m_pParentType->ITEM_GAIN_FOCUS_COMMAND );
|
m_textItems[j]->PlayCommand( "GainFocus" );
|
||||||
else
|
else
|
||||||
m_textItems[j]->RunCommands( m_pParentType->ITEM_LOSE_FOCUS_COMMAND );
|
m_textItems[j]->PlayCommand( "LoseFocus" );
|
||||||
}
|
}
|
||||||
|
|
||||||
switch( m_pHand->m_Def.m_layoutType )
|
switch( m_pHand->m_Def.m_layoutType )
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ struct OptionRowDefinition;
|
|||||||
class OptionRowType
|
class OptionRowType
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void Load( const RString &sType, Actor *pParent );
|
void Load( const RString &sMetricsGroup, Actor *pParent );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RString m_sType;
|
RString m_sMetricsGroup;
|
||||||
|
|
||||||
BitmapText m_textItem;
|
BitmapText m_textItem;
|
||||||
OptionsCursor m_Underline[NUM_PLAYERS];
|
OptionsCursor m_Underline[NUM_PLAYERS];
|
||||||
@@ -31,27 +31,19 @@ private:
|
|||||||
|
|
||||||
// metrics
|
// metrics
|
||||||
ThemeMetric<float> FRAME_X;
|
ThemeMetric<float> FRAME_X;
|
||||||
ThemeMetric<apActorCommands> FRAME_ON_COMMAND;
|
|
||||||
ThemeMetric<float> TITLE_X;
|
ThemeMetric<float> TITLE_X;
|
||||||
ThemeMetric<apActorCommands> TITLE_ON_COMMAND;
|
|
||||||
ThemeMetric<apActorCommands> TITLE_GAIN_FOCUS_COMMAND;
|
|
||||||
ThemeMetric<apActorCommands> TITLE_LOSE_FOCUS_COMMAND;
|
|
||||||
ThemeMetric<float> ITEMS_START_X;
|
ThemeMetric<float> ITEMS_START_X;
|
||||||
ThemeMetric<float> ITEMS_END_X;
|
ThemeMetric<float> ITEMS_END_X;
|
||||||
ThemeMetric<float> ITEMS_GAP_X;
|
ThemeMetric<float> ITEMS_GAP_X;
|
||||||
ThemeMetric<float> ITEMS_MIN_BASE_ZOOM;
|
ThemeMetric<float> ITEMS_MIN_BASE_ZOOM;
|
||||||
ThemeMetric1D<float> ITEMS_LONG_ROW_X;
|
ThemeMetric1D<float> ITEMS_LONG_ROW_X;
|
||||||
ThemeMetric<float> ITEMS_LONG_ROW_SHARED_X;
|
ThemeMetric<float> ITEMS_LONG_ROW_SHARED_X;
|
||||||
ThemeMetric<apActorCommands> ITEMS_ON_COMMAND;
|
|
||||||
ThemeMetric<apActorCommands> ITEM_GAIN_FOCUS_COMMAND;
|
|
||||||
ThemeMetric<apActorCommands> ITEM_LOSE_FOCUS_COMMAND;
|
|
||||||
ThemeMetric<bool> EXIT_HIDE_ITEM;
|
ThemeMetric<bool> EXIT_HIDE_ITEM;
|
||||||
ThemeMetric1D<float> MOD_ICON_X;
|
ThemeMetric1D<float> MOD_ICON_X;
|
||||||
ThemeMetric<apActorCommands> MOD_ICON_ON_COMMAND;
|
ThemeMetric<apActorCommands> MOD_ICON_ON_COMMAND;
|
||||||
ThemeMetric<RageColor> COLOR_SELECTED;
|
ThemeMetric<RageColor> COLOR_SELECTED;
|
||||||
ThemeMetric<RageColor> COLOR_NOT_SELECTED;
|
ThemeMetric<RageColor> COLOR_NOT_SELECTED;
|
||||||
ThemeMetric<RageColor> COLOR_DISABLED;
|
ThemeMetric<RageColor> COLOR_DISABLED;
|
||||||
ThemeMetric<bool> CAPITALIZE_ALL_OPTION_NAMES;
|
|
||||||
ThemeMetric<float> TWEEN_SECONDS;
|
ThemeMetric<float> TWEEN_SECONDS;
|
||||||
ThemeMetric<bool> SHOW_BPM_IN_SPEED_TITLE;
|
ThemeMetric<bool> SHOW_BPM_IN_SPEED_TITLE;
|
||||||
ThemeMetric<bool> SHOW_MOD_ICONS;
|
ThemeMetric<bool> SHOW_MOD_ICONS;
|
||||||
|
|||||||
Reference in New Issue
Block a user