public void SetClipAttributes(int id, int overrideIndex, double start, double stop, double rate, bool hq, int wrap, bool loopTime, bool keepY) { AnimationClip clip = Parser.m_AnimationClips[id].instance; if (overrideIndex >= 0) { AnimatorOverrideController animatorOverride = (AnimatorOverrideController)Parser.file.Components[overrideIndex]; clip = GetOverrideClip(clip, animatorOverride); } Operations.SetClipAttributes(clip, start, stop, rate, hq, wrap, loopTime, keepY); uint clipNameID = Animator.StringToHash(clip.m_Name); for (int i = 0; i < Parser.m_Controller.m_StateMachineArray.Length; i++) { StateMachineConstant stateMachine = Parser.m_Controller.m_StateMachineArray[i]; for (int j = 0; j < stateMachine.m_StateConstantArray.Count; j++) { StateConstant state = stateMachine.m_StateConstantArray[j]; if (state.m_NameID == clipNameID) { state.m_Loop = loopTime; i = Parser.m_Controller.m_StateMachineArray.Length; break; } } } Changed = true; }
public void SetClipAttributes(int id, double start, double stop, double rate, bool hq, int wrap, bool loopTime, bool keepY) { AnimationClip clip = id < 0 ? Parser.m_Animation.instance : Parser.m_Animations[id].instance; Operations.SetClipAttributes(clip, start, stop, rate, hq, wrap, loopTime, keepY); Changed = true; }