public void Heartbeat() { // Package HeartbeatMsg HeartbeatMsg heartbeatMsg = new HeartbeatMsg(); heartbeatMsg.GameFrameNum = _gameFrameNum; if (_dPadMsgFromClient.Count > 0) { ControlManager.DPadInfo dPadMsg = _dPadMsgFromClient[_dPadMsgFromClient.Count - 1]; if (dPadMsg != null) { heartbeatMsg.HasDpadMsg = true; dPadMsg.FrameNum = _gameFrameNum; heartbeatMsg.DPadMsgList.Add(dPadMsg); } //foreach (ControlManager.DPadInfo dPadMsg in _dPadMsgFromClient) //{ // dPadMsg.FrameNum = _gameFrameNum; // heartbeatMsg.DPadMsgList.Add(dPadMsg); //} _dPadMsgFromClient.Clear(); } // Send HeartbeatMsg SendHeartbeatMsgToClient(heartbeatMsg); _gameFrameNum++; }
public void ReceiveControlMsgFromClient(object controlInfoMsg) { ControlManager.DPadInfo dPadInfo = controlInfoMsg as ControlManager.DPadInfo; //ButtonInfo buttonInfo = controlInfoMsg as ButtonInfo; if (dPadInfo != null) { lock (GameManager.LockObj) _dPadMsgFromClient.Add(dPadInfo); } //else if (buttonInfo != null) //{ // lock (GameManager.LockObj) // { // ButtonMsgOnFakeServer.Add(buttonInfo); // //// Log // //Debug.Log("SendToFakeServer at local frame:" + GameFrameNum);//GameManager.GetInstance()._matchFrame // //PrintButtonInfo(buttonInfo); // } //} //else //{ // Int64 frameNum = (Int64)controlInfoMsg; // lock (GameManager.LockObj) // FrameMsgOnFakeServer.Add(frameNum); //} }