static int GetFsm(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.FsmComponent), typeof(System.Type))) { UnityGameFramework.Runtime.FsmComponent obj = (UnityGameFramework.Runtime.FsmComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); GameFramework.Fsm.FsmBase o = obj.GetFsm(arg0); ToLua.PushObject(L, o); return(1); } else if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(UnityGameFramework.Runtime.FsmComponent), typeof(System.Type), typeof(string))) { UnityGameFramework.Runtime.FsmComponent obj = (UnityGameFramework.Runtime.FsmComponent)ToLua.ToObject(L, 1); System.Type arg0 = (System.Type)ToLua.ToObject(L, 2); string arg1 = ToLua.ToString(L, 3); GameFramework.Fsm.FsmBase o = obj.GetFsm(arg0, arg1); ToLua.PushObject(L, o); return(1); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: UnityGameFramework.Runtime.FsmComponent.GetFsm")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
/// <summary> /// 销毁有限状态机。 /// </summary> /// <param name="fsm">要销毁的有限状态机。</param> /// <returns>是否销毁有限状态机成功。</returns> public bool DestroyFsm(FsmBase fsm) { if (fsm == null) { throw new GameFrameworkException("FSM is invalid."); } return(InternalDestroyFsm(Utility.Text.GetFullName(fsm.OwnerType, fsm.Name))); }
/// <summary> /// 销毁有限状态机。 /// </summary> /// <param name="fsm">要销毁的有限状态机。</param> /// <returns>是否销毁有限状态机成功。</returns> public bool DestroyFsm(FsmBase fsm) { if (fsm == null) { throw new GameFrameworkException("FSM is invalid."); } return(InternalDestroyFsm(new TypeNamePair(fsm.OwnerType, fsm.Name))); }
private FsmBase InternalGetFsm(string fullName) { FsmBase fsm = null; if (m_Fsms.TryGetValue(fullName, out fsm)) { return(fsm); } return(null); }
/// <summary> /// 获取有限状态机。 /// </summary> /// <typeparam name="T">有限状态机持有者类型。</typeparam> /// <param name="name">有限状态机名称。</param> /// <returns>要获取的有限状态机。</returns> public IFsm <T> GetFsm <T>(string name) where T : class { FsmBase fsm = null; if (m_Fsms.TryGetValue(Utility.Text.GetFullName <T>(name), out fsm)) { return((IFsm <T>)fsm); } return(null); }
private FsmBase InternalGetFsm(TypeNamePair typeNamePair) { FsmBase fsm = null; if (m_Fsms.TryGetValue(typeNamePair, out fsm)) { return(fsm); } return(null); }
public bool DestroyFsm <T>(string name) where T : class { FsmBase fsm = null; if (m_Fsms.TryGetValue(name, out fsm)) { fsm.Shutdown(); return(m_Fsms.Remove(name)); } return(false); }
private bool InternalDestroyFsm(string fullName) { FsmBase fsm = null; if (m_Fsms.TryGetValue(fullName, out fsm)) { fsm.Shutdown(); return(m_Fsms.Remove(fullName)); } return(false); }
/// <summary> /// 获取所有有限状态机。 /// </summary> /// <returns>所有有限状态机。</returns> public FsmBase[] GetAllFsms() { int index = 0; FsmBase[] results = new FsmBase[m_Fsms.Count]; foreach (KeyValuePair <string, FsmBase> fsm in m_Fsms) { results[index++] = fsm.Value; } return(results); }
private bool InternalDestroyFsm(TypeNamePair typeNamePair) { FsmBase fsm = null; if (m_Fsms.TryGetValue(typeNamePair, out fsm)) { fsm.Shutdown(); return(m_Fsms.Remove(typeNamePair)); } return(false); }
/// <summary> /// 获取所有有限状态机。 /// </summary> /// <returns>所有有限状态机。</returns> public FsmBase[] GetAllFsms() { int index = 0; FsmBase[] fsms = new FsmBase[m_Fsms.Count]; foreach (FsmBase fsm in m_Fsms.Values) { fsms[index++] = fsm; } return(fsms); }
/// <summary> /// 销毁有限状态机。 /// </summary> /// <typeparam name="T">有限状态机持有者类型。</typeparam> /// <param name="name">要销毁的有限状态机名称。</param> /// <returns>是否销毁有限状态机成功。</returns> public bool DestroyFsm <T>(string name) where T : class { string fullName = Utility.Text.GetFullName <T>(name); FsmBase fsm = null; if (m_Fsms.TryGetValue(fullName, out fsm)) { fsm.Shutdown(); return(m_Fsms.Remove(fullName)); } return(false); }