Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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;
        }