public Dictionary <string, object> GetCreateGameSettings(HiveGame game) { var settings = new Dictionary <string, object>(); // set default properties if (newMaxPlayer.HasValue && newMaxPlayer.Value != game.MaxPlayers) { settings[HiveHostGameState.MaxPlayers.ToString()] = newMaxPlayer.Value; } if (newIsOpen.HasValue && newIsOpen.Value != game.IsOpen) { settings[HiveHostGameState.IsOpen.ToString()] = newIsOpen.Value; } if (newIsVisible.HasValue && newIsVisible.Value != game.IsVisible) { settings[HiveHostGameState.IsVisible.ToString()] = newIsVisible.Value; } settings[HiveHostGameState.LobbyId.ToString()] = this.LobbyName; settings[HiveHostGameState.LobbyType.ToString()] = this.LobbyType; if (newLobbyProperties != null) { settings[HiveHostGameState.CustomProperties.ToString()] = GameParameterReader.GetLobbyGameProperties(this.GameProperties, new HashSet <object>(newLobbyProperties)); } settings[HiveHostGameState.EmptyRoomTTL.ToString()] = this.EmptyRoomLiveTime; settings[HiveHostGameState.PlayerTTL.ToString()] = this.PlayerTTL; settings[HiveHostGameState.CheckUserOnJoin.ToString()] = this.CheckUserOnJoin; settings[HiveHostGameState.DeleteCacheOnLeave.ToString()] = this.DeleteCacheOnLeave; settings[HiveHostGameState.SuppressRoomEvents.ToString()] = this.SuppressRoomEvents; return(settings); }