Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void ClientMove()
- {
- if (unprocessedResult == true)
- {
- if (clientPositions.ContainsKey(serverResultTick))
- {
- if (clientPositions[serverResultTick] == serverResultPos)
- {
- if (clientBuffer.Count != 0)
- {
- playerCC.Move(clientBuffer[clientTick] * Time.fixedDeltaTime * curSpeed);
- }
- else
- {
- transform.position = serverResultPos;
- //Clear out the client inputs and positions
- List<int> removeKeys = new List<int>();
- foreach (KeyValuePair<int, Vector2> pair in clientBuffer)
- {
- if (pair.Key <= serverResultTick)
- {
- removeKeys.Add(pair.Key);
- }
- }
- foreach (int key in removeKeys)
- {
- clientBuffer.Remove(key);
- clientPositions.Remove(key);
- }
- removeKeys.Clear();
- foreach(var input in clientBuffer)
- {
- playerCC.Move(input * Time.fixedDeltaTime * curSpeed);
- }
- }
- }
- }
- unprocessedResult = false
- }
- else
- {
- if (clientBuffer.Count != 0)
- {
- playerCC.Move(clientBuffer[clientTick] * Time.fixedDeltaTime * curSpeed);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement