Esempio n. 1
0
        public void                           SetOverrideBehaviours(AnimatorState state, StateMachineBehaviour[] behaviours)
        {
            if (m_Behaviours == null)
            {
                m_Behaviours = new StateBehavioursPair[] {}
            }
            ;
            for (int i = 0; i < m_Behaviours.Length; ++i)
            {
                if (m_Behaviours[i].m_State == state)
                {
                    m_Behaviours[i].m_Behaviours = behaviours;
                    return;
                }
            }

            StateBehavioursPair newPair;

            newPair.m_State      = state;
            newPair.m_Behaviours = behaviours;
            ArrayUtility.Add(ref m_Behaviours, newPair);
        }

        string m_Name;
        AnimatorStateMachine m_StateMachine;
        AvatarMask m_AvatarMask;
        StateMotionPair[] m_Motions;
        StateBehavioursPair[] m_Behaviours;
        AnimatorLayerBlendingMode m_BlendingMode;
        int m_SyncedLayerIndex = -1;
        bool m_IKPass;
        float m_DefaultWeight;
        bool m_SyncedLayerAffectsTiming;
    }
 public StateMachineBehaviour[] GetOverrideBehaviours(AnimatorState state)
 {
     if (this.m_Behaviours != null)
     {
         StateBehavioursPair[] behaviours = this.m_Behaviours;
         for (int i = 0; i < behaviours.Length; i++)
         {
             StateBehavioursPair stateBehavioursPair = behaviours[i];
             if (stateBehavioursPair.m_State == state)
             {
                 return(stateBehavioursPair.m_Behaviours);
             }
         }
     }
     return(new StateMachineBehaviour[0]);
 }