/// <summary> /// 关闭并清理网络频道辅助器。 /// </summary> public void Shutdown() { // 获取框架事件组件 EventComponent Event = GameEntry.GetComponent <EventComponent>(); Event.Unsubscribe(NetworkConnectedEventArgs.EventId, OnNetworkConnected); Event.Unsubscribe(NetworkClosedEventArgs.EventId, OnNetworkClosed); Event.Unsubscribe(NetworkMissHeartBeatEventArgs.EventId, OnNetworkMissHeartBeat); Event.Unsubscribe(NetworkErrorEventArgs.EventId, OnNetworkError); Event.Unsubscribe(NetworkCustomErrorEventArgs.EventId, OnNetworkCustomError); m_NetworkChannel = null; }
static int Unsubscribe(IntPtr L) { try { ToLua.CheckArgsCount(L, 3); UnityGameFramework.Runtime.EventComponent obj = (UnityGameFramework.Runtime.EventComponent)ToLua.CheckObject(L, 1, typeof(UnityGameFramework.Runtime.EventComponent)); int arg0 = (int)LuaDLL.luaL_checknumber(L, 2); System.EventHandler <GameFramework.Event.GameEventArgs> arg1 = null; LuaTypes funcType3 = LuaDLL.lua_type(L, 3); if (funcType3 != LuaTypes.LUA_TFUNCTION) { arg1 = (System.EventHandler <GameFramework.Event.GameEventArgs>)ToLua.CheckObject(L, 3, typeof(System.EventHandler <GameFramework.Event.GameEventArgs>)); } else { LuaFunction func = ToLua.ToLuaFunction(L, 3); arg1 = DelegateFactory.CreateDelegate(typeof(System.EventHandler <GameFramework.Event.GameEventArgs>), func) as System.EventHandler <GameFramework.Event.GameEventArgs>; } obj.Unsubscribe(arg0, arg1); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }