2003-06-18 07:03:51 +00:00
|
|
|
#include "global.h"
|
|
|
|
|
#include "DifficultyDisplay.h"
|
|
|
|
|
#include "song.h"
|
|
|
|
|
#include "ThemeManager.h"
|
|
|
|
|
|
2003-06-30 02:40:28 +00:00
|
|
|
CachedThemeMetric ICONONCOMMAND ("DifficultyDisplay","IconOnCommand");
|
|
|
|
|
CachedThemeMetric ICONOFFCOMMAND ("DifficultyDisplay","IconOffCommand");
|
2003-06-18 07:03:51 +00:00
|
|
|
|
|
|
|
|
DifficultyDisplay::DifficultyDisplay()
|
|
|
|
|
{
|
2003-06-30 02:40:28 +00:00
|
|
|
ICONONCOMMAND.Refresh();
|
|
|
|
|
ICONOFFCOMMAND.Refresh();
|
2003-06-23 07:29:08 +00:00
|
|
|
float fHeight = 0;
|
2003-06-18 07:03:51 +00:00
|
|
|
int diff;
|
|
|
|
|
for( diff = DIFFICULTY_BEGINNER; diff <= DIFFICULTY_CHALLENGE; ++diff )
|
|
|
|
|
{
|
|
|
|
|
m_difficulty[diff].Load( THEME->GetPathToG("DifficultyDisplay bar 5x1") );
|
|
|
|
|
m_difficulty[diff].SetState(diff);
|
|
|
|
|
m_difficulty[diff].StopAnimating();
|
|
|
|
|
this->AddChild( &m_difficulty[diff] );
|
|
|
|
|
|
2003-06-23 07:29:08 +00:00
|
|
|
fHeight += m_difficulty[diff].GetUnzoomedHeight();
|
2003-06-18 07:03:51 +00:00
|
|
|
}
|
|
|
|
|
|
2003-06-23 07:29:08 +00:00
|
|
|
float fY = -fHeight/2;
|
2003-06-18 07:03:51 +00:00
|
|
|
for( diff = DIFFICULTY_BEGINNER; diff <= DIFFICULTY_CHALLENGE; ++diff )
|
|
|
|
|
{
|
|
|
|
|
m_difficulty[diff].SetHorizAlign( align_left );
|
2003-06-23 07:29:08 +00:00
|
|
|
m_difficulty[diff].SetY( fY );
|
|
|
|
|
fY += m_difficulty[diff].GetUnzoomedHeight();
|
2003-06-18 07:03:51 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2003-08-07 06:16:17 +00:00
|
|
|
void DifficultyDisplay::SetDifficulties( const Song* pSong, StepsType curType )
|
2003-06-18 07:03:51 +00:00
|
|
|
{
|
|
|
|
|
for( int diff = DIFFICULTY_BEGINNER; diff <= DIFFICULTY_CHALLENGE; ++diff )
|
|
|
|
|
{
|
|
|
|
|
if( pSong->SongHasNotesTypeAndDifficulty( curType, Difficulty(diff) ) )
|
|
|
|
|
m_difficulty[diff].Command( ICONONCOMMAND );
|
|
|
|
|
else
|
|
|
|
|
m_difficulty[diff].Command( ICONOFFCOMMAND );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2003-06-30 06:48:14 +00:00
|
|
|
void DifficultyDisplay::UnsetDifficulties()
|
|
|
|
|
{
|
|
|
|
|
for( int diff = DIFFICULTY_BEGINNER; diff <= DIFFICULTY_CHALLENGE; ++diff )
|
|
|
|
|
m_difficulty[diff].Command( ICONOFFCOMMAND );
|
|
|
|
|
}
|
|
|
|
|
|
2003-06-18 07:03:51 +00:00
|
|
|
/*
|
|
|
|
|
Copyright (c) 2003 by the person(s) listed below. All rights reserved.
|
|
|
|
|
Steven Towle
|
|
|
|
|
*/
|