Files
itgmania212121/stepmania/src/DifficultyDisplay.cpp
T

55 lines
1.5 KiB
C++
Raw Normal View History

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
*/