75 lines
1.7 KiB
C++
75 lines
1.7 KiB
C++
#include "stdafx.h"
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
File: HoldJudgement.h
|
|
|
|
Desc: A graphic displayed in the HoldJudgement during Dancing.
|
|
|
|
Copyright (c) 2001 Chris Danford. All rights reserved.
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
#include "HoldJudgement.h"
|
|
#include "RageUtil.h"
|
|
#include "ScreenDimensions.h"
|
|
#include "ThemeManager.h"
|
|
|
|
|
|
const float JUDGEMENT_DISPLAY_TIME = 0.6f;
|
|
|
|
|
|
HoldJudgement::HoldJudgement()
|
|
{
|
|
m_fDisplayCountdown = 0;
|
|
m_sprJudgement.Load( THEME->GetPathTo(GRAPHIC_JUDGEMENT) );
|
|
m_sprJudgement.StopAnimating();
|
|
this->AddActor( &m_sprJudgement );
|
|
}
|
|
|
|
void HoldJudgement::Update( float fDeltaTime )
|
|
{
|
|
ActorFrame::Update( fDeltaTime );
|
|
|
|
m_fDisplayCountdown -= fDeltaTime;
|
|
if( m_fDisplayCountdown < 0 )
|
|
m_fDisplayCountdown = 0;
|
|
}
|
|
|
|
void HoldJudgement::RenderPrimitives()
|
|
{
|
|
if( m_fDisplayCountdown > 0 )
|
|
{
|
|
ActorFrame::RenderPrimitives();
|
|
}
|
|
}
|
|
|
|
void HoldJudgement::SetHoldJudgement( HoldNoteResult result )
|
|
{
|
|
//HELPER.Log( "Judgement::SetJudgement()" );
|
|
|
|
switch( result )
|
|
{
|
|
case HNR_NONE: m_sprJudgement.SetState( 0 ); break;
|
|
case HNR_OK: m_sprJudgement.SetState( 7 ); break;
|
|
case HNR_NG: m_sprJudgement.SetState( 8 ); break;
|
|
default: ASSERT( false );
|
|
}
|
|
|
|
m_fDisplayCountdown = JUDGEMENT_DISPLAY_TIME;
|
|
|
|
if( result == HNR_NG )
|
|
{
|
|
// falling down
|
|
m_sprJudgement.SetY( -10 );
|
|
m_sprJudgement.SetZoom( 1.0f );
|
|
m_sprJudgement.BeginTweening( JUDGEMENT_DISPLAY_TIME );
|
|
m_sprJudgement.SetTweenY( 10 );
|
|
}
|
|
else if( result == HNR_OK )
|
|
{
|
|
// zooming out
|
|
m_sprJudgement.SetZoom( 1.5f );
|
|
m_sprJudgement.BeginTweening( JUDGEMENT_DISPLAY_TIME/3.0f );
|
|
m_sprJudgement.SetTweenZoom( 1.0f );
|
|
}
|
|
} |