fold CroppedSprite functionality into Sprite
more work on Rave
This commit is contained in:
@@ -19,22 +19,23 @@
|
||||
#include "ThemeManager.h"
|
||||
|
||||
|
||||
const float LEVEL_WIDTH = 50;
|
||||
|
||||
|
||||
ScoreDisplayRave::ScoreDisplayRave()
|
||||
{
|
||||
LOG->Trace( "ScoreDisplayRave::ScoreDisplayRave()" );
|
||||
|
||||
m_lastLevelSeen = ATTACK_LEVEL_1;
|
||||
|
||||
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
||||
{
|
||||
m_LevelStream[i].Load( THEME->GetPathToG(ssprintf("ScoreDisplayRave stream level%d",i+1)), LEVEL_WIDTH );
|
||||
float fSpan = (NUM_ATTACK_LEVELS-1)*LEVEL_WIDTH;
|
||||
float fX = SCALE(i,0.f,NUM_ATTACK_LEVELS-1.f, -fSpan/2, fSpan/2 );
|
||||
m_LevelStream[i].SetX( fX );
|
||||
this->AddChild( &m_LevelStream[i] );
|
||||
m_sprMeter[i].Load( THEME->GetPathToG(ssprintf("ScoreDisplayRave stream level%d",i+1)) );
|
||||
m_sprMeter[i].SetCropRight( 1.f );
|
||||
this->AddChild( &m_sprMeter[i] );
|
||||
}
|
||||
|
||||
m_textLevel.LoadFromNumbers( THEME->GetPathToN("ScoreDisplayRave level") );
|
||||
m_textLevel.SetText( "1" );
|
||||
this->AddChild( &m_textLevel );
|
||||
|
||||
this->AddChild( &m_sprFrame );
|
||||
}
|
||||
|
||||
@@ -42,6 +43,10 @@ void ScoreDisplayRave::Init( PlayerNumber pn )
|
||||
{
|
||||
ScoreDisplay::Init( pn );
|
||||
|
||||
if( pn == PLAYER_2 )
|
||||
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
||||
m_sprMeter[i].SetZoomX( -1 );
|
||||
|
||||
m_sprFrame.Load( THEME->GetPathToG(ssprintf("ScoreDisplayRave frame p%d",pn+1)) );
|
||||
}
|
||||
|
||||
@@ -49,10 +54,16 @@ void ScoreDisplayRave::Update( float fDelta )
|
||||
{
|
||||
ScoreDisplay::Update( fDelta );
|
||||
|
||||
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
||||
float fLevel = GAMESTATE->m_fSuperMeter[m_PlayerNumber];
|
||||
AttackLevel level = (AttackLevel)(int)fLevel;
|
||||
|
||||
if( level != m_lastLevelSeen )
|
||||
{
|
||||
float fLevelPercent = GAMESTATE->m_fSuperMeter[m_PlayerNumber] - i;
|
||||
CLAMP( fLevelPercent, 0 ,1 );
|
||||
m_LevelStream[i].SetPercent( fLevelPercent );
|
||||
m_sprMeter[m_lastLevelSeen].SetCropRight( 1.f );
|
||||
m_lastLevelSeen = level;
|
||||
m_textLevel.SetText( ssprintf("%d",level+1) );
|
||||
}
|
||||
|
||||
float fPercent = fLevel - level;
|
||||
m_sprMeter[level].SetCropRight( 1-fPercent );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user