/** Network command handling */ private void HandleWorldState(NetCommand.WorldState cmd) { if (simulation != null) { simulation.EnqueueWorldState(cmd); } }
private void BroadcastWorldState(float dt) { var players = playerManager.GetPlayers(); var playerStates = players.Select(p => p.Controller.ToNetworkState()).ToArray(); foreach (var player in players) { var cmd = new NetCommand.WorldState { WorldTick = WorldTick, YourLatestInputTick = playerConnectionInfo[player.Id].latestInputTick, PlayerStates = playerStates, }; handler.SendWorldState(player, cmd); } }
public void EnqueueWorldState(NetCommand.WorldState state) { worldStateQueue.Enqueue(state); }
/** Simulation.Handler interface */ public void SendWorldState(Player player, NetCommand.WorldState state) { netChannel.SendCommand(player.Peer, state); }