private AnimatorState GetDestinationState(int destinationState) { if (destinationState == -1) { return(null); } else if (destinationState >= 30000) { // Entry and Exit states int stateIndex = destinationState % 30000; if (stateIndex == 0 || stateIndex == 1) { // base layer node. Default value is valid return(null); } else { SelectorStateConstant selectorState = StateMachine.SelectorStateConstantArray[stateIndex].Instance; // HACK: take default Entry destination. TODO: child StateMachines SelectorTransitionConstant selectorTransition = selectorState.TransitionConstantArray[selectorState.TransitionConstantArray.Length - 1].Instance; return(GetDestinationState(selectorTransition.Destination)); } } else { return(States[destinationState]); } }
public AnimatorTransition(VirtualSerializedFile file, AnimatorController controller, SelectorTransitionConstant transition) : base(file, ClassIDType.AnimatorTransition, controller, transition) { file.AddAsset(this); }
protected AnimatorTransitionBase(AssetInfo assetInfo, ClassIDType classID, AnimatorController controller, SelectorTransitionConstant transition) : this(assetInfo, classID, controller, transition.ConditionConstantArray) { IsExit = false; }
public AnimatorTransition(VirtualSerializedFile file, AnimatorController controller, SelectorTransitionConstant transition, IReadOnlyList <AnimatorState> states) : this(file, controller, transition) { DstState = PPtr <AnimatorState> .CreateVirtualPointer(states[transition.Destination]); }
protected AnimatorTransitionBase(VirtualSerializedFile file, ClassIDType classID, AnimatorController controller, SelectorTransitionConstant transition) : this(file, classID, controller, transition.ConditionConstantArray) { Name = string.Empty; IsExit = false; }
private AnimatorTransition(AssetInfo assetInfo, AnimatorController controller, SelectorTransitionConstant transition) : base(assetInfo, ClassIDType.AnimatorTransition, controller, transition) { }
public static AnimatorTransition CreateVirtualInstance(VirtualSerializedFile virtualFile, AnimatorController controller, SelectorTransitionConstant transition, IReadOnlyList <AnimatorState> states) { return(virtualFile.CreateAsset((assetInfo) => new AnimatorTransition(assetInfo, controller, transition, states))); }
private AnimatorTransition(AssetInfo assetInfo, AnimatorController controller, SelectorTransitionConstant transition, IReadOnlyList <AnimatorState> states) : this(assetInfo, controller, transition) { AnimatorState state = states[transition.Destination]; DstState = state.File.CreatePPtr(state); }