Simplify. Use AutoActor.

This commit is contained in:
Glenn Maynard
2003-11-04 21:49:38 +00:00
parent 946f891ebf
commit 73c07dcb58
2 changed files with 24 additions and 28 deletions
+21 -26
View File
@@ -22,16 +22,6 @@
#include "ThemeManager.h" #include "ThemeManager.h"
#define HEADER_ON_COMMAND THEME->GetMetric("MenuElements","HeaderOnCommand")
#define HEADER_OFF_COMMAND THEME->GetMetric("MenuElements","HeaderOffCommand")
#define FOOTER_ON_COMMAND THEME->GetMetric("MenuElements","FooterOnCommand")
#define FOOTER_OFF_COMMAND THEME->GetMetric("MenuElements","FooterOffCommand")
#define STYLE_ICON_ON_COMMAND THEME->GetMetric("MenuElements","StyleIconOnCommand")
#define STYLE_ICON_OFF_COMMAND THEME->GetMetric("MenuElements","StyleIconOffCommand")
#define TIMER_ON_COMMAND THEME->GetMetric("MenuElements","TimerOnCommand")
#define TIMER_OFF_COMMAND THEME->GetMetric("MenuElements","TimerOffCommand")
#define HELP_ON_COMMAND THEME->GetMetric("MenuElements","HelpOnCommand")
#define HELP_OFF_COMMAND THEME->GetMetric("MenuElements","HelpOffCommand")
#define TIMER_SECONDS THEME->GetMetricI(m_sName,"TimerSeconds") #define TIMER_SECONDS THEME->GetMetricI(m_sName,"TimerSeconds")
#define STYLE_ICON THEME->GetMetricB(m_sName,"StyleIcon") #define STYLE_ICON THEME->GetMetricB(m_sName,"StyleIcon")
@@ -51,23 +41,26 @@ void MenuElements::Load( CString sClassName )
m_Background.LoadFromAniDir( THEME->GetPathToB(m_sName+" background") ); m_Background.LoadFromAniDir( THEME->GetPathToB(m_sName+" background") );
this->AddChild( &m_Background ); this->AddChild( &m_Background );
m_sprHeader.Load( THEME->GetPathToG(m_sName+" header") ); m_autoHeader.Load( THEME->GetPathToG(m_sName+" header") );
m_sprHeader.Command( HEADER_ON_COMMAND ); m_autoHeader->SetName("Header");
this->AddChild( &m_sprHeader ); UtilOnCommand( m_autoHeader, "MenuElements" );
this->AddChild( m_autoHeader );
if( STYLE_ICON && GAMESTATE->m_CurStyle != STYLE_INVALID ) if( STYLE_ICON && GAMESTATE->m_CurStyle != STYLE_INVALID )
{ {
CString sIconFileName = ssprintf("MenuElements icon %s", GAMESTATE->GetCurrentStyleDef()->m_szName ); CString sIconFileName = ssprintf("MenuElements icon %s", GAMESTATE->GetCurrentStyleDef()->m_szName );
m_sprStyleIcon.SetName( "StyleIcon" );
m_sprStyleIcon.Load( THEME->GetPathToG(sIconFileName) ); m_sprStyleIcon.Load( THEME->GetPathToG(sIconFileName) );
m_sprStyleIcon.StopAnimating(); m_sprStyleIcon.StopAnimating();
m_sprStyleIcon.Command( STYLE_ICON_ON_COMMAND ); UtilOnCommand( m_sprStyleIcon, "MenuElements" );
this->AddChild( &m_sprStyleIcon ); this->AddChild( &m_sprStyleIcon );
} }
m_bTimerEnabled = (TIMER_SECONDS != -1); m_bTimerEnabled = (TIMER_SECONDS != -1);
if( m_bTimerEnabled ) if( m_bTimerEnabled )
{ {
m_MenuTimer.Command( TIMER_ON_COMMAND ); m_MenuTimer.SetName( "Timer" );
UtilOnCommand( m_MenuTimer, "MenuElements" );
if( TIMER_SECONDS > 0 && PREFSMAN->m_bMenuTimer && !GAMESTATE->m_bEditing ) if( TIMER_SECONDS > 0 && PREFSMAN->m_bMenuTimer && !GAMESTATE->m_bEditing )
m_MenuTimer.SetSeconds( TIMER_SECONDS ); m_MenuTimer.SetSeconds( TIMER_SECONDS );
else else
@@ -75,11 +68,13 @@ void MenuElements::Load( CString sClassName )
this->AddChild( &m_MenuTimer ); this->AddChild( &m_MenuTimer );
} }
m_sprFooter.Load( THEME->GetPathToG(m_sName+" footer") ); m_autoFooter.Load( THEME->GetPathToG(m_sName+" footer") );
m_sprFooter.Command( FOOTER_ON_COMMAND ); m_autoFooter->SetName("Footer");
this->AddChild( &m_sprFooter ); UtilOnCommand( m_autoFooter, "MenuElements" );
this->AddChild( m_autoFooter );
m_textHelp.Command( HELP_ON_COMMAND ); m_textHelp.SetName( "Help" );
UtilOnCommand( m_textHelp, "MenuElements" );
CStringArray asHelpTips; CStringArray asHelpTips;
split( THEME->GetMetric(m_sName,"HelpText"), "\n", asHelpTips ); split( THEME->GetMetric(m_sName,"HelpText"), "\n", asHelpTips );
m_textHelp.SetTips( asHelpTips ); m_textHelp.SetTips( asHelpTips );
@@ -112,13 +107,13 @@ void MenuElements::StartTransitioning( ScreenMessage smSendWhenDone )
{ {
m_MenuTimer.SetSeconds( 0 ); m_MenuTimer.SetSeconds( 0 );
m_MenuTimer.Stop(); m_MenuTimer.Stop();
m_MenuTimer.Command( TIMER_OFF_COMMAND ); UtilOffCommand( m_MenuTimer, "MenuElements" );
} }
m_sprHeader.Command( HEADER_OFF_COMMAND ); UtilOffCommand( m_autoHeader, "MenuElements" );
m_sprStyleIcon.Command( STYLE_ICON_OFF_COMMAND ); UtilOffCommand( m_sprStyleIcon, "MenuElements" );
m_sprFooter.Command( FOOTER_OFF_COMMAND ); UtilOffCommand( m_autoFooter, "MenuElements" );
m_textHelp.Command( HELP_OFF_COMMAND ); UtilOffCommand( m_textHelp, "MenuElements" );
m_Background.PlayOffCommand(); m_Background.PlayOffCommand();
@@ -156,11 +151,11 @@ void MenuElements::DrawTopLayer()
{ {
BeginDraw(); BeginDraw();
m_sprHeader.Draw(); m_autoHeader->Draw();
m_sprStyleIcon.Draw(); m_sprStyleIcon.Draw();
if( m_bTimerEnabled ) if( m_bTimerEnabled )
m_MenuTimer.Draw(); m_MenuTimer.Draw();
m_sprFooter.Draw(); m_autoFooter->Draw();
m_textHelp.Draw(); m_textHelp.Draw();
m_In.Draw(); m_In.Draw();
m_Out.Draw(); m_Out.Draw();
+3 -2
View File
@@ -18,6 +18,7 @@
#include "Transition.h" #include "Transition.h"
#include "HelpDisplay.h" #include "HelpDisplay.h"
#include "BGAnimation.h" #include "BGAnimation.h"
#include "ActorUtil.h"
class MenuElements : public ActorFrame class MenuElements : public ActorFrame
@@ -44,10 +45,10 @@ public: // let owner tinker with these objects
BGAnimation m_Background; BGAnimation m_Background;
Sprite m_sprHeader; AutoActor m_autoHeader;
Sprite m_sprStyleIcon; Sprite m_sprStyleIcon;
MenuTimer m_MenuTimer; MenuTimer m_MenuTimer;
Sprite m_sprFooter; AutoActor m_autoFooter;
HelpDisplay m_textHelp; HelpDisplay m_textHelp;
Transition m_In; Transition m_In;