public static void SendCommand(Command com) { if (sendType == SendState.None) { return; } outCommands.Add(com); if (SendAggregated == false) { bufferedBytes.FastClear(); if (sendType == SendState.Network) { for (int i = 0; i < outCommands.Count; i++) { bufferedBytes.AddRange(outCommands [i].Serialized); } outCommands.FastClear(); if (bufferedBytes.Count > 0) { ClientManager.Distribute(bufferedBytes.ToArray()); } } } }
/// <summary> /// Sends out all Commands /// </summary> public static void SendOut() { if (bufferedBytes.Count > 0) { ClientManager.Distribute(bufferedBytes.ToArray()); bufferedBytes.FastClear(); } }
/// <summary> /// Sends out all Commands /// </summary> public static void SendOut() { if (outCommands.Count > 0) { bufferedBytes.FastClear(); for (int i = 0; i < outCommands.Count; i++) { bufferedBytes.AddRange(outCommands [i].Serialized); } if (bufferedBytes.Count > 0) { ClientManager.Distribute(bufferedBytes.ToArray()); } outCommands.FastClear(); } }
public static void Simulate() { if (sendType == SendState.None) { return; } { bufferedBytes.FastClear(); switch (sendType) { case SendState.Network: if (SendAggregated) { for (int i = 0; i < outCommands.Count; i++) { bufferedBytes.AddRange(outCommands [i].Serialized); } if (bufferedBytes.Count > 0) { ClientManager.Distribute(bufferedBytes.ToArray()); } } break; case SendState.Offline: bufferedBytes.AddRange(BitConverter.GetBytes(LockstepManager.InfluenceFrameCount)); for (int i = 0; i < outCommands.Count; i++) { bufferedBytes.AddRange(outCommands [i].Serialized); } ProcessPacket(bufferedBytes.ToArray()); break; } outCommands.FastClear(); NextFrameCount++; } }