summaryrefslogtreecommitdiff
path: root/Runtime/Animation/AnimationEvent.h
blob: 541d7194b0b8955c3cbbb48971c66110ecb0a48a (plain)
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
#ifndef ANIMATIONEVENT_H
#define ANIMATIONEVENT_H

#include "Runtime/BaseClasses/GameObject.h"
class AnimationState;

struct AnimationEvent
{
	DECLARE_SERIALIZE (AnimationEvent)

	float        time;
	UnityStr     functionName;
	UnityStr     stringParameter;
	PPtr<Object> objectReferenceParameter;
	float        floatParameter;
	int          intParameter;
	
	int		     messageOptions;
	mutable AnimationState* stateSender;
	
	AnimationEvent() { messageOptions = 0; stateSender = NULL; floatParameter = 0.0F; intParameter = 0; } 
	
	friend bool operator < (const AnimationEvent& lhs, const AnimationEvent& rhs) { return lhs.time < rhs.time; }
};

bool FireEvent (AnimationEvent& event, AnimationState* state, Unity::Component& animation);


#endif