private void SendClientState() { if (GetServerNode() == null) return; var states = GetClientState(); if (states == null) return; var playerEnt = GetPlayer(); if (playerEnt == null) return; ClientStatePacket packet = new ClientStatePacket(); packet.State = states; packet.PreviousState = _lastClientState; packet.PlayerId = (uint)playerEnt.UniqueId; _lastClientState = states.Count > 0 ? states.Last() : null; _bifrost.Send(packet, 1); }
private void OnClientState(ClientStatePacket clientState) { var playerSys = LookupSystem<PlayerSystem>(); var conn = clientState.Connection; var player = playerSys.Get(conn); if (player == null) return; var playerComp = player.GetComponent<PlayerComponent>(); foreach (var inp in clientState.State) { playerComp.InputBuffer.Add(inp); } }