/// <summary> /// 关闭并清理网络管理器 /// </summary> public override void Shutdown() { foreach (KeyValuePair <string, NetworkChannel> networkChannel in m_NetworkChannels) { NetworkChannel nc = networkChannel.Value; nc.NetworkChannelConnected -= OnNetworkChannelConnected; nc.NetworkChannelClosed -= OnNetworkChannelClosed; nc.NetworkChannelMissHeartBeat -= OnNetworkChannelMissHeartBeat; nc.NetworkChannelError -= OnNetworkChannelError; nc.NetworkChannelCustomError -= OnNetworkChannelCustomError; nc.Shutdown(); } m_NetworkChannels.Clear(); }
/// <summary> /// 销毁网络频道 /// </summary> /// <param name="name">网络频道名称</param> /// <returns>是否销毁网络频道成功</returns> public bool DestroyNetworkChannel(string name) { NetworkChannel networkChannel = null; if (m_NetworkChannels.TryGetValue(name ?? string.Empty, out networkChannel)) { networkChannel.NetworkChannelConnected -= OnNetworkChannelConnected; networkChannel.NetworkChannelClosed -= OnNetworkChannelClosed; networkChannel.NetworkChannelMissHeartBeat -= OnNetworkChannelMissHeartBeat; networkChannel.NetworkChannelError -= OnNetworkChannelError; networkChannel.NetworkChannelCustomError -= OnNetworkChannelCustomError; networkChannel.Shutdown(); return(m_NetworkChannels.Remove(name)); } return(false); }