summaryrefslogtreecommitdiff
path: root/Runtime/Animation/BoundCurve.h
blob: 5a731699edd61b688b606302e07eed2a379c1c79 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#pragma once

class IAnimationBinding;

namespace UnityEngine
{
namespace Animation
{
		

// These values can can never be changed, when a system is deprecated,
// it must be kept commented out and the index is not to be reused!
// The enum value can not be reused. Otherwise built data (assetbundles) will break.
enum BindType
{
	kUnbound							= 0,
	
	// Builtin transform bindings
	kBindTransformPosition				= 1, // This enum may not be changed. It is used in GenericClipBinding.
	kBindTransformRotation				= 2, // This enum may not be changed.  It is used in GenericClipBinding.
	kBindTransformScale					= 3, // It is used in GenericClipBinding.
	
	// Builtin float bindings
	kMinSinglePropertyBinding			= 5,
	kBindFloat							= 5,
	kBindFloatToBool					= 6,
	kBindGameObjectActive				= 7,
	kBindMuscle							= 8,

	
	// Custom bindings
	kBlendShapeWeightBinding			= 20,
	kRendererMaterialPPtrBinding		= 21,
	kRendererMaterialPropertyBinding	= 22,
	kSpriteRendererPPtrBinding			= 23,
	kMonoBehaviourPropertyBinding		= 24,
	kAllBindingCount
};

struct BoundCurve
{
	void*				targetPtr; 
	UInt32				targetType;
	IAnimationBinding*	customBinding;
	Object*				targetObject;
	
	BoundCurve () { targetObject = 0; targetPtr = 0; targetType = 0; customBinding = 0; }
};
	
}
}