internal override void OnInitialization() { base.OnInitialization(); _helper = Helper as INetworkHelper; _helper.LoadProtocolChannels(ChannelTypes); _helper.BeginConnectServerEvent += (cha) => { BeginConnectServerEvent?.Invoke(cha); }; _helper.ConnectServerSuccessEvent += (cha) => { ConnectServerSuccessEvent?.Invoke(cha); }; _helper.ConnectServerFailEvent += (cha) => { ConnectServerFailEvent?.Invoke(cha); }; _helper.DisconnectServerEvent += (cha) => { DisconnectServerEvent?.Invoke(cha); }; _helper.SendMessageEvent += (cha) => { SendMessageEvent?.Invoke(cha); }; _helper.ReceiveMessageEvent += (cha, mes) => { ReceiveMessageEvent?.Invoke(cha, mes); }; }
/// <summary> /// 连接服务器 /// </summary> /// <param name="channelType">通信协议通道类型</param> public void ConnectServer(Type channelType) { if (_protocolChannels.ContainsKey(channelType)) { if (_protocolChannels[channelType].IsNeedConnect) { if (_protocolChannels[channelType].IsConnect) { return; } BeginConnectServerEvent?.Invoke(_protocolChannels[channelType]); Main.Current.StartCoroutine(ConnectServerCoroutine(_protocolChannels[channelType])); } else { Log.Warning("连接服务器出错:" + _protocolChannels[channelType].ToString() + " 不需要与服务器保持连接!"); } } else { Log.Warning("连接服务器出错:" + channelType.FullName + " 未启用或并不是有效的通信协议!"); } }