public void RequestState(StateParameter parameter) { if (Player.IsHost) { lobbyWriter.Write((byte)NetMessageType.Data); lobbyWriter.Write((byte)MessageType.RequestState); parameter.Encode(lobbyWriter); } }
/// <summary> /// Requests the server to set a state to a given value /// </summary> /// <param name="param">The parameter to request</param> public void RequestState(StateParameter param) { if (IsConnected) { NetOutgoingMessage msg = myPeer.CreateMessage(); msg.Write((byte)MessageType.RequestState); param.Encode(msg); Send(msg); } }
/// <summary> /// Invoked by game state when a parameter has changed /// </summary> /// <param name="sender">The object to invoke this method</param> /// <param name="e">The event arguments</param> private void MyGameState_OnStateChanged(object sender, StateParameter e) { if (myState == ServerState.InGame && e.IsSynced) { // Prepare the game state changed NetOutgoingMessage msg = myServer.CreateMessage(); msg.Write((byte)MessageType.GameStateChanged); e.Encode(msg); // Send to all clients SendToAll(msg); } }