Class CloneContext
The CloneContext keeps track of which virtual objects have been cloned from which original objects, and therefore avoids double-cloning. It also keeps track of various context used during cloning, such as virtual layer offsets. Most users shouldn't use CloneContext directly; use the Clone wrappers in VirtualControllerContext instead.
public sealed class CloneContext
- Inheritance
-
CloneContext
- Inherited Members
Constructors
CloneContext(IPlatformAnimatorBindings)
public CloneContext(IPlatformAnimatorBindings platformBindings)
Parameters
platformBindings
IPlatformAnimatorBindings
Properties
ActiveInnateLayerKey
When cloning an innate animator, this property will be set to the key of the animator. In the case of VRChat, this contains the layer type while cloning.
public object? ActiveInnateLayerKey { get; }
Property Value
PlatformBindings
public IPlatformAnimatorBindings PlatformBindings { get; }
Property Value
Methods
Clone(AvatarMask)
public VirtualAvatarMask? Clone(AvatarMask layerAvatarMask)
Parameters
layerAvatarMask
AvatarMask
Returns
Clone(AnimationClip?)
public VirtualClip? Clone(AnimationClip? clip)
Parameters
clip
AnimationClip?
Returns
Clone(AnimatorControllerLayer?, int)
public VirtualLayer? Clone(AnimatorControllerLayer? layer, int index)
Parameters
layer
AnimatorControllerLayer?index
int
Returns
Clone(AnimatorStateMachine?)
public VirtualStateMachine? Clone(AnimatorStateMachine? stateMachine)
Parameters
stateMachine
AnimatorStateMachine?
Returns
Clone(AnimatorStateTransition?)
public VirtualStateTransition? Clone(AnimatorStateTransition? transition)
Parameters
transition
AnimatorStateTransition?
Returns
Clone(AnimatorState?)
public VirtualState? Clone(AnimatorState? state)
Parameters
state
AnimatorState?
Returns
Clone(AnimatorTransition?)
public VirtualTransition? Clone(AnimatorTransition? transition)
Parameters
transition
AnimatorTransition?
Returns
Clone(Motion?)
public VirtualMotion? Clone(Motion? m)
Parameters
m
Motion?
Returns
Clone(RuntimeAnimatorController?)
public VirtualAnimatorController? Clone(RuntimeAnimatorController? controller)
Parameters
controller
RuntimeAnimatorController?
Returns
Clone(RuntimeAnimatorController?, object)
public VirtualAnimatorController? Clone(RuntimeAnimatorController? controller, object layerKey)
Parameters
controller
RuntimeAnimatorController?layerKey
object
Returns
CloneDistinct(RuntimeAnimatorController?, object?)
Clones an animator controller, without reusing any objects from prior clones.
public VirtualAnimatorController? CloneDistinct(RuntimeAnimatorController? controller, object? layerKey = null)
Parameters
controller
RuntimeAnimatorController?layerKey
object
Returns
CloneSourceToVirtualLayerIndex(int)
public int CloneSourceToVirtualLayerIndex(int layerIndex)
Parameters
layerIndex
int
Returns
DeferCall(Action)
public void DeferCall(Action action)
Parameters
action
Action
MapClipOnClone(AnimationClip)
Applies any in-scope AnimationOverrideControllers to the given motion to get the effective motion.
public AnimationClip MapClipOnClone(AnimationClip clip)
Parameters
clip
AnimationClip
Returns
- AnimationClip