summaryrefslogtreecommitdiff
path: root/game/client/tf/c_tf_taunt_prop.cpp
blob: 954f18e7b380bd51d334286a360cb171f8f3ed87 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Play VCD on taunt prop
//
// $NoKeywords: $
//=============================================================================//
#include "cbase.h"

#include "c_basecombatcharacter.h"
#include "choreoevent.h"
#include "c_sceneentity.h"

#include "c_tf_taunt_prop.h"

// memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h"

IMPLEMENT_CLIENTCLASS_DT( C_TFTauntProp, DT_TFTauntProp, CTFTauntProp )
END_RECV_TABLE()

//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
bool C_TFTauntProp::StartSceneEvent( CSceneEventInfo *info, CChoreoScene *scene, CChoreoEvent *event, CChoreoActor *actor, CBaseEntity *pTarget )
{
	switch ( event->GetType() )
	{
	case CChoreoEvent::SEQUENCE:
	case CChoreoEvent::GESTURE:
		{
			// Get the (gesture) sequence.
			info->m_nSequence = LookupSequence( event->GetParameters() );
			if ( info->m_nSequence < 0 )
				return false;

			SetSequence( info->m_nSequence );
			SetPlaybackRate( 1.0f );
			SetCycle( scene->GetTime() / scene->GetDuration() );
		}
		return true;
	default:
		return BaseClass::StartSceneEvent( info, scene, event, actor, pTarget );
	}
}


//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
bool C_TFTauntProp::ClearSceneEvent( CSceneEventInfo *info, bool fastKill, bool canceled )
{
	switch ( info->m_pEvent->GetType() )
	{
	case CChoreoEvent::SEQUENCE:
	case CChoreoEvent::GESTURE:
		//return StopGestureSceneEvent( info, fastKill, canceled );
	default:
		return BaseClass::ClearSceneEvent( info, fastKill, canceled );
	}
}