private void ClientProcessServerMessages() { while (m_ClientServerReceivedMessages.Count > 0) { ServerPosition serverMessage = m_ClientServerReceivedMessages.Dequeue(); // Hack??? Needed to get around setting position. m_Player1.GetComponent <CharacterController>().enabled = false; m_Player1.transform.position = serverMessage.Position; m_Player1.GetComponent <CharacterController>().enabled = true; if (ServerReconcile) { int i = 0; while (i < m_ClientPendingInputsToServer.Count) { Inputs h = m_ClientPendingInputsToServer[i]; if (h.SeqNum <= serverMessage.LastProcessedSeqNum) { m_ClientPendingInputsToServer.RemoveAt(i); } else { // Not processed by server yet. Re-Apply. ApplyInput(h); i++; } } } else { m_ClientPendingInputsToServer.Clear(); } } }
Thread connectThread; //連接線程 void Awake() { current = this; }
public override string ToString() { return($"ID:{ID}, Position:{ServerPosition.ToString()}, LookAtRadian:{LookAtRadian}, FeetRadian:{FeetRadian}"); }