private void ClientTick() { ci = AIInputHandler.GetClientInput(); if (ci.inputEvents.Count > 0) { // Network Tick NetworkTick.tickSeq++; ci.UpdateStatistics(NetworkTick.tickSeq, statisticsModule.tickAck, statisticsModule.GetTimeSpentIdleInTicks()); Send(ClientPktSerializer.Serialize(ci)); statisticsModule.RecordSentPacket(); // Clear the list of events. ci.inputEvents.Clear(); PacketStartTime.ResetStopWatch(); } }
private void ProcessMessage(byte[] data) { if (this.player == null) { return; } try { var ci = ClientPktSerializer.DeSerialize(data); statisticsModule.RecordRecvPacket(ci.clientTickSeq, ci.serverTickAck, ci.timeSpentInClientInTicks); this.player.CacheClientInput(ci); } catch { Debug.Log("Problem with serialization"); } }