send HoldingOn/HoldingOff to allow implementing hold explosions

generically
This commit is contained in:
Glenn Maynard
2005-10-12 04:05:54 +00:00
parent 3826bd95b3
commit 59570b25d1
2 changed files with 17 additions and 0 deletions
+15
View File
@@ -32,6 +32,9 @@ void GhostArrowRow::Load( const PlayerState* pPlayerState, float fYReverseOffset
m_HoldGhost[c]->SetName( "HoldGhostArrow" ); m_HoldGhost[c]->SetName( "HoldGhostArrow" );
m_HoldGhost[c]->Load( sButton, "hold explosion" ); m_HoldGhost[c]->Load( sButton, "hold explosion" );
m_bHoldIsActive.push_back( false );
m_bHoldWasActive.push_back( false );
m_Ghost.push_back( ActorUtil::MakeActor( NOTESKIN->GetPath(sButton, "tap explosion") ) ); m_Ghost.push_back( ActorUtil::MakeActor( NOTESKIN->GetPath(sButton, "tap explosion") ) );
m_Ghost[c]->SetName( "GhostArrow" ); m_Ghost[c]->SetName( "GhostArrow" );
} }
@@ -71,6 +74,16 @@ void GhostArrowRow::Update( float fDeltaTime )
m_Ghost[c]->SetZoom( fZoom ); m_Ghost[c]->SetZoom( fZoom );
m_HoldGhost[c]->SetZoom( fZoom ); m_HoldGhost[c]->SetZoom( fZoom );
} }
for( unsigned i = 0; i < m_bHoldIsActive.size(); ++i )
{
if( !m_bHoldWasActive[i] && m_bHoldIsActive[i] )
m_Ghost[i]->PlayCommand( "HoldingOn" );
else if( m_bHoldWasActive[i] && !m_bHoldIsActive[i] )
m_Ghost[i]->PlayCommand( "HoldingOff" );
m_bHoldWasActive[i] = m_bHoldIsActive[i];
m_bHoldIsActive[i] = false;
}
} }
void GhostArrowRow::DrawPrimitives() void GhostArrowRow::DrawPrimitives()
@@ -118,7 +131,9 @@ void GhostArrowRow::DidHoldNote( int iCol, HoldNoteScore hns, bool bBright )
void GhostArrowRow::SetHoldIsActive( int iCol ) void GhostArrowRow::SetHoldIsActive( int iCol )
{ {
ASSERT( iCol >= 0 && iCol < (int) m_Ghost.size() ); ASSERT( iCol >= 0 && iCol < (int) m_Ghost.size() );
m_HoldGhost[iCol]->SetHoldIsActive( true ); m_HoldGhost[iCol]->SetHoldIsActive( true );
m_bHoldIsActive[iCol] = true;
} }
/* /*
+2
View File
@@ -29,6 +29,8 @@ protected:
vector<Actor *> m_Ghost; vector<Actor *> m_Ghost;
vector<HoldGhostArrow *> m_HoldGhost; vector<HoldGhostArrow *> m_HoldGhost;
vector<bool> m_bHoldIsActive;
vector<bool> m_bHoldWasActive;
}; };