示例#1
0
        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);
        }