void Update() { serverTick++; if (movesMade > 0) { movesMade--; } if (movesMade == 0) { CharacterState state = character.state; while ((movesMade < character.inputBufferSize && inputBuffer.Count > 0)) { state = CharacterState.Move(state, inputBuffer.Dequeue(), serverTick); charCtrl.Move(state.position - transform.position); movesMade++; } if (movesMade > 0) { state.position = transform.position; character.state = state; character.OnServerStateChange(state); } } Debug.Log(serverTick); }
void Update() { if (movesMade > 0) { movesMade--; } if (movesMade == 0) { CharacterState state = character.state; while ((movesMade < character.InputBufferSize && inputBuffer.Count > 0)) { state = CharacterState.Move(state, inputBuffer.Dequeue(), character.Speed, serverTick); charCtrl.Move(state.velocity); movesMade++; } if (movesMade > 0) { state.position = transform.position; character.state = state; character.OnServerStateChange(state); } } }