static IEnumerator send(byte[] data) { yield return(LSUtility.WaitRealTime(UnityEngine.Random.Range(Latency, Latency + Jitter))); ClientManager.HandleFrameData(data); yield break; }
static IEnumerator receive(byte[] data) { yield return(LSUtility.WaitRealTime(UnityEngine.Random.Range(Latency, Latency + Jitter))); receivedBytes.AddRange(data); yield break; }
static IEnumerator Tick() { while (true) { if (IsSimulating && LockstepManager.GameStarted) { bufferBytes.FastClear(); bufferBytes.AddRange(BitConverter.GetBytes(InfluenceFrameCount)); InfluenceFrameCount++; bufferBytes.AddRange(receivedBytes); receivedBytes.FastClear(); Send(bufferBytes.ToArray()); } yield return(LSUtility.WaitRealTime(LockstepManager.DeltaTimeF * LockstepManager.InfluenceResolution)); } }