Call SetMessage during CurrentSteps / Difficulty Changed (#1361)
This fixes a bug where player difficulty meter and/or color inside MusicWheelItem don't update when switching between difficulties.
This commit is contained in:
@@ -382,6 +382,45 @@ void MusicWheelItem::HandleMessage( const Message &msg )
|
|||||||
msg == Message_PreferredDifficultyP1Changed ||
|
msg == Message_PreferredDifficultyP1Changed ||
|
||||||
msg == Message_PreferredDifficultyP2Changed )
|
msg == Message_PreferredDifficultyP2Changed )
|
||||||
{
|
{
|
||||||
|
const MusicWheelItemData *pWID = dynamic_cast<const MusicWheelItemData*>( m_pData );
|
||||||
|
MusicWheelItemType type = MusicWheelItemType_Invalid;
|
||||||
|
|
||||||
|
switch( pWID->m_Type )
|
||||||
|
{
|
||||||
|
DEFAULT_FAIL( pWID->m_Type );
|
||||||
|
case WheelItemDataType_Song:
|
||||||
|
type = MusicWheelItemType_Song;
|
||||||
|
case WheelItemDataType_Section:
|
||||||
|
if( GAMESTATE->sExpandedSectionName == pWID->m_sText )
|
||||||
|
type = MusicWheelItemType_SectionExpanded;
|
||||||
|
else
|
||||||
|
type = MusicWheelItemType_SectionCollapsed;
|
||||||
|
case WheelItemDataType_Course:
|
||||||
|
type = MusicWheelItemType_Course;
|
||||||
|
case WheelItemDataType_Sort:
|
||||||
|
if( pWID->m_pAction->m_pm != PlayMode_Invalid )
|
||||||
|
type = MusicWheelItemType_Mode;
|
||||||
|
else
|
||||||
|
type = MusicWheelItemType_Sort;
|
||||||
|
case WheelItemDataType_Roulette:
|
||||||
|
type = MusicWheelItemType_Roulette;
|
||||||
|
case WheelItemDataType_Random:
|
||||||
|
type = MusicWheelItemType_Random;
|
||||||
|
case WheelItemDataType_Portal:
|
||||||
|
type = MusicWheelItemType_Portal;
|
||||||
|
case WheelItemDataType_Custom:
|
||||||
|
type = MusicWheelItemType_Custom;
|
||||||
|
}
|
||||||
|
|
||||||
|
Message msg( "Set" );
|
||||||
|
msg.SetParam( "Song", pWID->m_pSong );
|
||||||
|
msg.SetParam( "Course", pWID->m_pCourse );
|
||||||
|
msg.SetParam( "Text", pWID->m_sText );
|
||||||
|
msg.SetParam( "Type", MusicWheelItemTypeToString(type) );
|
||||||
|
msg.SetParam( "Color", pWID->m_color );
|
||||||
|
msg.SetParam( "Label", pWID->m_sLabel );
|
||||||
|
this->HandleMessage( msg );
|
||||||
|
|
||||||
RefreshGrades();
|
RefreshGrades();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user