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
platformBindingsIPlatformAnimatorBindings
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
layerAvatarMaskAvatarMask
Returns
Clone(AnimationClip?)
public VirtualClip? Clone(AnimationClip? clip)
Parameters
clipAnimationClip?
Returns
Clone(AnimatorControllerLayer?, int)
public VirtualLayer? Clone(AnimatorControllerLayer? layer, int index)
Parameters
layerAnimatorControllerLayer?indexint
Returns
Clone(AnimatorStateMachine?)
public VirtualStateMachine? Clone(AnimatorStateMachine? stateMachine)
Parameters
stateMachineAnimatorStateMachine?
Returns
Clone(AnimatorStateTransition?)
public VirtualStateTransition? Clone(AnimatorStateTransition? transition)
Parameters
transitionAnimatorStateTransition?
Returns
Clone(AnimatorState?)
public VirtualState? Clone(AnimatorState? state)
Parameters
stateAnimatorState?
Returns
Clone(AnimatorTransition?)
public VirtualTransition? Clone(AnimatorTransition? transition)
Parameters
transitionAnimatorTransition?
Returns
Clone(Motion?)
public VirtualMotion? Clone(Motion? m)
Parameters
mMotion?
Returns
Clone(RuntimeAnimatorController?)
public VirtualAnimatorController? Clone(RuntimeAnimatorController? controller)
Parameters
controllerRuntimeAnimatorController?
Returns
Clone(RuntimeAnimatorController?, object)
public VirtualAnimatorController? Clone(RuntimeAnimatorController? controller, object layerKey)
Parameters
controllerRuntimeAnimatorController?layerKeyobject
Returns
CloneDistinct(RuntimeAnimatorController?, object?)
Clones an animator controller, without reusing any objects from prior clones.
public VirtualAnimatorController? CloneDistinct(RuntimeAnimatorController? controller, object? layerKey = null)
Parameters
controllerRuntimeAnimatorController?layerKeyobject
Returns
CloneSourceToVirtualLayerIndex(int)
public int CloneSourceToVirtualLayerIndex(int layerIndex)
Parameters
layerIndexint
Returns
DeferCall(Action)
public void DeferCall(Action action)
Parameters
actionAction
MapClipOnClone(AnimationClip)
Applies any in-scope AnimationOverrideControllers to the given motion to get the effective motion.
public AnimationClip MapClipOnClone(AnimationClip clip)
Parameters
clipAnimationClip
Returns
- AnimationClip