broadcast on SelectionState change

rename: StepsSelected->StepsChosen
This commit is contained in:
Chris Danford
2007-08-20 03:32:26 +00:00
parent 4311158735
commit 58aa14142f
2 changed files with 30 additions and 17 deletions
+19 -10
View File
@@ -29,6 +29,14 @@
#include "InputEventPlus.h" #include "InputEventPlus.h"
#include "OptionsList.h" #include "OptionsList.h"
static const char *SelectionStateNames[] = {
"SelectingSong",
"SelectingSteps",
"Finalized"
};
XToString( SelectionState );
const int NUM_SCORE_DIGITS = 9; const int NUM_SCORE_DIGITS = 9;
#define SHOW_OPTIONS_MESSAGE_SECONDS THEME->GetMetricF( m_sName, "ShowOptionsMessageSeconds" ) #define SHOW_OPTIONS_MESSAGE_SECONDS THEME->GetMetricF( m_sName, "ShowOptionsMessageSeconds" )
@@ -200,7 +208,7 @@ void ScreenSelectMusic::BeginScreen()
m_MusicWheel.BeginScreen(); m_MusicWheel.BeginScreen();
m_SelectionState = SelectionState_SelectingSong; m_SelectionState = SelectionState_SelectingSong;
ZERO( m_bStepsSelected ); ZERO( m_bStepsChosen );
m_bGoToOptions = false; m_bGoToOptions = false;
m_bAllowOptionsMenu = m_bAllowOptionsMenuRepeat = false; m_bAllowOptionsMenu = m_bAllowOptionsMenuRepeat = false;
ZERO( m_iSelection ); ZERO( m_iSelection );
@@ -411,7 +419,7 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
return; // ignore return; // ignore
if( m_SelectionState == SelectionState_Finalized || if( m_SelectionState == SelectionState_Finalized ||
m_bStepsSelected[input.pn] ) m_bStepsChosen[input.pn] )
return; // ignore return; // ignore
@@ -842,8 +850,6 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input )
return; return;
} }
MESSAGEMAN->Broadcast("SongChosen");
break; break;
case SelectionState_SelectingSteps: case SelectionState_SelectingSteps:
@@ -855,16 +861,16 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input )
{ {
if( p == pn ) if( p == pn )
continue; continue;
bAllOtherHumanPlayersDone &= m_bStepsSelected[p]; bAllOtherHumanPlayersDone &= m_bStepsChosen[p];
} }
bool bAllPlayersDoneSelectingSteps = bInitiatedByMenuTimer || bAllOtherHumanPlayersDone; bool bAllPlayersDoneSelectingSteps = bInitiatedByMenuTimer || bAllOtherHumanPlayersDone;
if( !bAllPlayersDoneSelectingSteps ) if( !bAllPlayersDoneSelectingSteps )
{ {
m_bStepsSelected[pn] = true; m_bStepsChosen[pn] = true;
m_soundStart.Play(); m_soundStart.Play();
Message msg("StepsSelected"); Message msg("StepsChosen");
msg.SetParam( "Player", pn ); msg.SetParam( "Player", pn );
MESSAGEMAN->Broadcast( msg ); MESSAGEMAN->Broadcast( msg );
return; return;
@@ -884,6 +890,9 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input )
} }
m_SelectionState = GetNextSelectionState(); m_SelectionState = GetNextSelectionState();
Message msg( "Start" + SelectionStateToString(m_SelectionState) );
MESSAGEMAN->Broadcast( msg );
m_soundStart.Play(); m_soundStart.Play();
@@ -894,13 +903,13 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input )
FOREACH_HumanPlayer( p ) FOREACH_HumanPlayer( p )
{ {
if( !m_bStepsSelected[p] ) if( !m_bStepsChosen[p] )
{ {
m_bStepsSelected[p] = true; m_bStepsChosen[p] = true;
/* Don't play start sound. We play it again below on finalized */ /* Don't play start sound. We play it again below on finalized */
//m_soundStart.Play(); //m_soundStart.Play();
Message msg("StepsSelected"); Message msg("StepsChosen");
msg.SetParam( "Player", p ); msg.SetParam( "Player", p );
MESSAGEMAN->Broadcast( msg ); MESSAGEMAN->Broadcast( msg );
} }
+11 -7
View File
@@ -16,6 +16,16 @@
#include "GameInput.h" #include "GameInput.h"
#include "OptionsList.h" #include "OptionsList.h"
enum SelectionState
{
SelectionState_SelectingSong,
SelectionState_SelectingSteps,
SelectionState_Finalized,
NUM_SelectionState,
};
const RString& SelectionStateToString( SelectionState ss );
class ScreenSelectMusic : public ScreenWithMenuElements class ScreenSelectMusic : public ScreenWithMenuElements
{ {
public: public:
@@ -73,12 +83,6 @@ protected:
ThemeMetric<bool> USE_OPTIONS_LIST; ThemeMetric<bool> USE_OPTIONS_LIST;
ThemeMetric<bool> TWO_PART_SELECTION; ThemeMetric<bool> TWO_PART_SELECTION;
enum SelectionState
{
SelectionState_SelectingSong,
SelectionState_SelectingSteps,
SelectionState_Finalized
};
bool CanChangeSong() const { return m_SelectionState == SelectionState_SelectingSong; } bool CanChangeSong() const { return m_SelectionState == SelectionState_SelectingSong; }
bool CanChangeSteps() const { return TWO_PART_SELECTION ? m_SelectionState == SelectionState_SelectingSteps : m_SelectionState == SelectionState_SelectingSong; } bool CanChangeSteps() const { return TWO_PART_SELECTION ? m_SelectionState == SelectionState_SelectingSteps : m_SelectionState == SelectionState_SelectingSong; }
SelectionState GetNextSelectionState() const SelectionState GetNextSelectionState() const
@@ -114,7 +118,7 @@ protected:
void CloseOptionsList( PlayerNumber pn ); void CloseOptionsList( PlayerNumber pn );
SelectionState m_SelectionState; SelectionState m_SelectionState;
bool m_bStepsSelected[NUM_PLAYERS]; // only used in SelectionState_SelectingSteps bool m_bStepsChosen[NUM_PLAYERS]; // only used in SelectionState_SelectingSteps
bool m_bGoToOptions; bool m_bGoToOptions;
RString m_sSampleMusicToPlay; RString m_sSampleMusicToPlay;
TimingData *m_pSampleMusicTimingData; TimingData *m_pSampleMusicTimingData;