Inheritance: ScriptableObject
 protected void BuildEditorList(StateMachineBehaviour[] behaviours)
 {
     this.m_BehavioursEditor = new Editor[behaviours.Length];
     for (int i = 0; i < behaviours.Length; i++)
     {
         if ((behaviours[i] != null) && (behaviours[i] != null))
         {
             this.m_BehavioursEditor[i] = Editor.CreateEditor(behaviours[i]);
         }
         else
         {
             InvalidStateMachineBehaviour targetObject = ScriptableObject.CreateInstance<InvalidStateMachineBehaviour>();
             targetObject.monoScript = this.GetBehaviourMonoScript(i);
             if (targetObject.monoScript != null)
             {
                 targetObject.name = targetObject.monoScript.name;
             }
             targetObject.hideFlags = HideFlags.HideAndDontSave;
             targetObject.controller = this.m_ControllerContext;
             targetObject.state = this.state;
             targetObject.stateMachine = this.stateMachine;
             targetObject.layerIndex = this.m_LayerIndexContext;
             targetObject.behaviourIndex = i;
             this.m_BehavioursEditor[i] = Editor.CreateEditor(targetObject);
         }
     }
 }
Beispiel #2
0
 static public int OnStateMachineExit(IntPtr l)
 {
     try {
         int argc = LuaDLL.lua_gettop(l);
         if (argc == 3)
         {
             UnityEngine.StateMachineBehaviour self = (UnityEngine.StateMachineBehaviour)checkSelf(l);
             UnityEngine.Animator a1;
             checkType(l, 2, out a1);
             System.Int32 a2;
             checkType(l, 3, out a2);
             self.OnStateMachineExit(a1, a2);
             return(0);
         }
         else if (argc == 4)
         {
             UnityEngine.StateMachineBehaviour self = (UnityEngine.StateMachineBehaviour)checkSelf(l);
             UnityEngine.Animator a1;
             checkType(l, 2, out a1);
             System.Int32 a2;
             checkType(l, 3, out a2);
             UnityEngine.Animations.AnimatorControllerPlayable a3;
             checkValueType(l, 4, out a3);
             self.OnStateMachineExit(a1, a2, a3);
             return(0);
         }
         return(error(l, "No matched override function to call"));
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int OnStateEnter(IntPtr l)
 {
     try {
                     #if DEBUG
         var    method     = System.Reflection.MethodBase.GetCurrentMethod();
         string methodName = GetMethodName(method);
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.BeginSample(methodName);
                     #else
         Profiler.BeginSample(methodName);
                     #endif
                     #endif
         int argc = LuaDLL.lua_gettop(l);
         if (argc == 4)
         {
             UnityEngine.StateMachineBehaviour self = (UnityEngine.StateMachineBehaviour)checkSelf(l);
             UnityEngine.Animator a1;
             checkType(l, 2, out a1);
             UnityEngine.AnimatorStateInfo a2;
             checkValueType(l, 3, out a2);
             System.Int32 a3;
             checkType(l, 4, out a3);
             self.OnStateEnter(a1, a2, a3);
             pushValue(l, true);
             return(1);
         }
         else if (argc == 5)
         {
             UnityEngine.StateMachineBehaviour self = (UnityEngine.StateMachineBehaviour)checkSelf(l);
             UnityEngine.Animator a1;
             checkType(l, 2, out a1);
             UnityEngine.AnimatorStateInfo a2;
             checkValueType(l, 3, out a2);
             System.Int32 a3;
             checkType(l, 4, out a3);
             UnityEngine.Experimental.Director.AnimatorControllerPlayable a4;
             checkType(l, 5, out a4);
             self.OnStateEnter(a1, a2, a3, a4);
             pushValue(l, true);
             return(1);
         }
         pushValue(l, false);
         LuaDLL.lua_pushstring(l, "No matched override function OnStateEnter to call");
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
             #if DEBUG
     finally {
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.EndSample();
                     #else
         Profiler.EndSample();
                     #endif
     }
             #endif
 }
 static public int OnStateMachineExit__Animator__Int32(IntPtr l)
 {
     try {
         UnityEngine.StateMachineBehaviour self = (UnityEngine.StateMachineBehaviour)checkSelf(l);
         UnityEngine.Animator a1;
         checkType(l, 2, out a1);
         System.Int32 a2;
         checkType(l, 3, out a2);
         self.OnStateMachineExit(a1, a2);
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int OnStateMachineExit(IntPtr l)
 {
     try {
         UnityEngine.StateMachineBehaviour self = (UnityEngine.StateMachineBehaviour)checkSelf(l);
         UnityEngine.Animator a1;
         checkType(l, 2, out a1);
         System.Int32 a2;
         checkType(l, 3, out a2);
         self.OnStateMachineExit(a1, a2);
         return(0);
     }
     catch (Exception e) {
         LuaDLL.luaL_error(l, e.ToString());
         return(0);
     }
 }
 static public int OnStateMachineEnter__Animator__Int32__AnimatorControllerPlayable(IntPtr l)
 {
     try {
         UnityEngine.StateMachineBehaviour self = (UnityEngine.StateMachineBehaviour)checkSelf(l);
         UnityEngine.Animator a1;
         checkType(l, 2, out a1);
         System.Int32 a2;
         checkType(l, 3, out a2);
         UnityEngine.Animations.AnimatorControllerPlayable a3;
         checkValueType(l, 4, out a3);
         self.OnStateMachineEnter(a1, a2, a3);
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 public void SetOverrideBehaviours(AnimatorState state, StateMachineBehaviour[] behaviours)
 {
     StateBehavioursPair pair;
     if (this.m_Behaviours == null)
     {
         this.m_Behaviours = new StateBehavioursPair[0];
     }
     for (int i = 0; i < this.m_Behaviours.Length; i++)
     {
         if (this.m_Behaviours[i].m_State == state)
         {
             this.m_Behaviours[i].m_Behaviours = behaviours;
             return;
         }
     }
     pair.m_State = state;
     pair.m_Behaviours = behaviours;
     ArrayUtility.Add<StateBehavioursPair>(ref this.m_Behaviours, pair);
 }
Beispiel #8
0
 static public int OnStateExit(IntPtr l)
 {
     try {
         int argc = LuaDLL.lua_gettop(l);
         if (argc == 4)
         {
             UnityEngine.StateMachineBehaviour self = (UnityEngine.StateMachineBehaviour)checkSelf(l);
             UnityEngine.Animator a1;
             checkType(l, 2, out a1);
             UnityEngine.AnimatorStateInfo a2;
             checkValueType(l, 3, out a2);
             System.Int32 a3;
             checkType(l, 4, out a3);
             self.OnStateExit(a1, a2, a3);
             pushValue(l, true);
             return(1);
         }
         else if (argc == 5)
         {
             UnityEngine.StateMachineBehaviour self = (UnityEngine.StateMachineBehaviour)checkSelf(l);
             UnityEngine.Animator a1;
             checkType(l, 2, out a1);
             UnityEngine.AnimatorStateInfo a2;
             checkValueType(l, 3, out a2);
             System.Int32 a3;
             checkType(l, 4, out a3);
             UnityEngine.Animations.AnimatorControllerPlayable a4;
             checkValueType(l, 5, out a4);
             self.OnStateExit(a1, a2, a3, a4);
             pushValue(l, true);
             return(1);
         }
         pushValue(l, false);
         LuaDLL.lua_pushstring(l, "No matched override function to call");
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 public void SetOverrideBehaviours(AnimatorState state, StateMachineBehaviour[] behaviours)
 {
   if (this.m_Behaviours == null)
     this.m_Behaviours = new StateBehavioursPair[0];
   for (int index = 0; index < this.m_Behaviours.Length; ++index)
   {
     if ((Object) this.m_Behaviours[index].m_State == (Object) state)
     {
       this.m_Behaviours[index].m_Behaviours = behaviours;
       return;
     }
   }
   StateBehavioursPair stateBehavioursPair;
   stateBehavioursPair.m_State = state;
   stateBehavioursPair.m_Behaviours = behaviours;
   ArrayUtility.Add<StateBehavioursPair>(ref this.m_Behaviours, stateBehavioursPair);
 }
 protected bool IsEditorsValid(StateMachineBehaviour[] behaviours)
 {
     if ((this.m_BehavioursEditor == null) || ((this.m_BehavioursEditor != null) && (this.m_BehavioursEditor.Length != behaviours.Length)))
     {
         return false;
     }
     for (int i = 0; i < this.m_BehavioursEditor.Length; i++)
     {
         if (this.m_BehavioursEditor[i].target != behaviours[i])
         {
             return false;
         }
     }
     return true;
 }
Beispiel #11
0
 public virtual void startState(StateMachineBehaviour stateMachine)
 {
     this.stateMachine = stateMachine;
 }