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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
C++RAW
#include "UnityPrefix.h"
#include "Runtime/Mono/MonoBehaviour.h"
#include "Runtime/Mono/MonoScript.h"
#include "Runtime/Graphics/Transform.h"
#include "Runtime/Animation/AnimatorOverrideController.h"
#include "Runtime/Animation/AnimationClip.h"
#include "Runtime/Animation/RuntimeAnimatorController.h"
#include "Runtime/Scripting/ScriptingExportUtility.h"
using namespace Unity;
CSRAW
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Collections;
namespace UnityEngine
{
CSRAW [System.Serializable]
CSRAW [StructLayout (LayoutKind.Sequential)]
CLASS AnimationClipPair
public AnimationClip originalClip;
public AnimationClip overrideClip;
END
// AnimatorOverrideController definition
CLASS AnimatorOverrideController : RuntimeAnimatorController
// Creates a new animation clip
CSRAW public AnimatorOverrideController()
{
Internal_CreateAnimationSet(this);
}
CUSTOM private static void Internal_CreateAnimationSet ([Writable]AnimatorOverrideController self)
{
Object* animationSet = NEW_OBJECT(AnimatorOverrideController);
animationSet->Reset();
Scripting::ConnectScriptingWrapperToObject (self.GetScriptingObject(), animationSet);
animationSet->AwakeFromLoad(kInstantiateOrCreateFromCodeAwakeFromLoad);
}
// The runtime representation of AnimatorController that controls the Animator
CUSTOM_PROP RuntimeAnimatorController runtimeAnimatorController {return Scripting::ScriptingWrapperFor(self->GetAnimatorController());} { self->SetAnimatorController(value);}
// Returns the animation clip named /name/.
CSRAW public AnimationClip this [string name]
{
get { return Internal_GetClipByName(name, true); }
set { Internal_SetClipByName(name, value); }
}
CUSTOM private AnimationClip Internal_GetClipByName(string name, bool returnEffectiveClip)
{
return Scripting::ScriptingWrapperFor(self->GetClip( name, returnEffectiveClip ));
}
CUSTOM private void Internal_SetClipByName(string name, AnimationClip clip)
{
return self->SetClip( name, clip );
}
// Returns the animation clip named /name/.
CSRAW public AnimationClip this [AnimationClip clip]
{
get { return Internal_GetClip(clip, true); }
set { Internal_SetClip(clip, value); }
}
CUSTOM private AnimationClip Internal_GetClip(AnimationClip originalClip, bool returnEffectiveClip)
{
return Scripting::ScriptingWrapperFor(self->GetClip( originalClip, returnEffectiveClip));
}
CUSTOM private void Internal_SetClip(AnimationClip originalClip, AnimationClip overrideClip)
{
return self->SetClip( originalClip, overrideClip );
}
CONDITIONAL UNITY_EDITOR
CSRAW internal delegate void OnOverrideControllerDirtyCallback();
CONDITIONAL UNITY_EDITOR
CSRAW internal OnOverrideControllerDirtyCallback OnOverrideControllerDirty;
CONDITIONAL UNITY_EDITOR
CSRAW internal static void OnInvalidateOverrideController(AnimatorOverrideController controller)
{
if(controller.OnOverrideControllerDirty != null)
controller.OnOverrideControllerDirty();
}
CSRAW public AnimationClipPair[] clips
{
get
{
AnimationClip[] originalAnimationClips = GetOriginalClips();
AnimationClipPair[] clipPair = new AnimationClipPair[originalAnimationClips.Length];
for(int i=0;i<originalAnimationClips.Length;i++)
{
clipPair[i] = new AnimationClipPair();
clipPair[i].originalClip = originalAnimationClips[i];
clipPair[i].overrideClip = Internal_GetClip(originalAnimationClips[i], false);
}
return clipPair;
}
set
{
for(int i=0;i<value.Length;i++)
Internal_SetClip(value[i].originalClip, value[i].overrideClip);
}
}
CUSTOM private AnimationClip[] GetOriginalClips()
{
return CreateScriptingArrayFromUnityObjects(self->GetOriginalClips(), ClassID(AnimationClip));
}
CUSTOM private AnimationClip[] GetOverrideClips()
{
return CreateScriptingArrayFromUnityObjects(self->GetOverrideClips(), ClassID(AnimationClip));
}
CONDITIONAL UNITY_EDITOR
CUSTOM public void PerformOverrideClipListCleanup()
{
return self->PerformOverrideClipListCleanup();
}
END
CSRAW }
|