namespace Sandbox;
///
/// A class that holds all configured networking settings for a game.
/// This is serialized as a config and shared from the server to the client.
///
[Expose]
public class NetworkingSettings : ConfigData
{
///
/// Whether to disband the game lobby when the host leaves.
///
public bool DestroyLobbyWhenHostLeaves { get; set; }
///
/// Whether to periodically switch to the best host candidate. Candidates are
/// scored based on their average ping and connection quality to all other peers.
///
public bool AutoSwitchToBestHost { get; set; } = true;
///
/// By default can clients create objects. This can be changed per connection after join.
///
[Title( "Client Object Spawning" )]
public bool ClientsCanSpawnObjects { get; set; } = true;
///
/// By default can clients refresh objects. This can be changed per connection after join.
///
[Title( "Client Object Refreshing" )]
public bool ClientsCanRefreshObjects { get; set; } = true;
///
/// The frequency at which the network system will send updates to clients. Higher is better but
/// you probably want to stay in the 10-60 range.
///
public float UpdateRate { get; set; } = 30;
}