public static void Destroy() { if (_Inst != null) { _Inst._MsgPool.Destroy(); } _Inst = null; }
protected void SendMessage(short msgID, MessageBase content) { MsgBase msg = NetMsgPool.Get <MsgBase>(MsgID.MSG_BASE); msg.ID = msgID; msg.Message = content; _Conn.Send(MsgID.MSG_BASE, msg); NetMsgPool.ReturnBase(msg); }
private void CreateMessage() { switch (ID) { case MsgID.MSG_HEART_BEAT: Message = NetMsgPool.Get <MsgHeartBeat>(ID); break; } }
private void HeartBeatUpdate() { if (IsConnected()) { if (Time.time - _Ping.LastSendTime > _Ping.SendGap) { MsgHeartBeat hb = NetMsgPool.Get <MsgHeartBeat>(MsgID.MSG_HEART_BEAT); hb.ClientTimeStamp = Time.time; _Ping.RequestPing(hb.ClientTimeStamp); SendMessage(MsgID.MSG_HEART_BEAT, hb); } } _NetworkInfoUI.UpdatePing(_Ping.Ping); }
private void OnReceiveMsg(NetworkMessage netMsg) { var baseMsg = NetMsgPool.Get <MsgBase>(MsgID.MSG_BASE); netMsg.ReadMessage(baseMsg); switch (baseMsg.ID) { case MsgID.MSG_HEART_BEAT: OnReceiveHeartBeat(netMsg, baseMsg); break; } NetMsgPool.ReturnBase(baseMsg); }