示例#1
0
        public void ApplyRoomSettings(RoomSettings settings)
        {
            _roomName = settings.Name;

            _usePassword             = settings.UsePassword;
            _usePasswordToggle.Value = _usePassword;

            _roomPassword = settings.Password;

            _allowPerPlayerDifficulty        = settings.PerPlayerDifficulty;
            _perPlayerDifficultyToggle.Value = _allowPerPlayerDifficulty;

            _maxPlayers           = settings.MaxPlayers;
            _maxPlayersList.Value = _maxPlayers;

            _resultsShowTime           = (int)settings.ResultsShowTime;
            _resultsShowTimeList.Value = _resultsShowTime;

            _songSelectionType               = settings.SelectionType;
            _songSelectionList.Value         = (int)_songSelectionType;
            _songSelectionList.textForValues = new string[] { "Manual", "Random" };
            _songSelectionList.UpdateText();

            _passwordText.text = string.IsNullOrEmpty(_roomPassword) ? "ENTER PASSWORD" : _roomPassword.ToUpper();
            _nameText.text     = string.IsNullOrEmpty(_roomName) ? "ENTER ROOM NAME" : _roomName.ToUpper();

            _createRoomButton.interactable = PluginUI.instance.roomCreationFlowCoordinator.CheckRequirements();
        }
示例#2
0
 public RoomInfo(NetIncomingMessage msg)
 {
     roomId              = msg.ReadUInt32();
     name                = msg.ReadString();
     usePassword         = msg.ReadBoolean();
     perPlayerDifficulty = msg.ReadBoolean();
     songSelected        = msg.ReadBoolean();
     msg.SkipPadBits();
     roomState         = (RoomState)msg.ReadByte();
     songSelectionType = (SongSelectionType)msg.ReadByte();
     roomHost          = new PlayerInfo(msg);
     players           = msg.ReadInt32();
     maxPlayers        = msg.ReadInt32();
     try
     {
         if (songSelected)
         {
             startLevelInfo = new LevelOptionsInfo(msg);
             selectedSong   = new SongInfo(msg);
         }
         else
         {
             startLevelInfo = default;
             selectedSong   = null;
         }
     }
     catch
     {
     }
 }
 public RoomSettings(JSONNode node)
 {
     Name          = node["Name"];
     UsePassword   = node["UsePassword"];
     Password      = node["Password"];
     SelectionType = (SongSelectionType)node["SelectionType"].AsInt;
     MaxPlayers    = node["MaxPlayers"];
     NoFail        = node["NoFail"];
 }
示例#4
0
 public RoomSettings(JSONNode node)
 {
     Name                = node["Name"];
     UsePassword         = node["UsePassword"];
     Password            = node["Password"];
     SelectionType       = (SongSelectionType)node["SelectionType"].AsInt;
     MaxPlayers          = node["MaxPlayers"];
     ResultsShowTime     = node["ResultsShowTime"];
     PerPlayerDifficulty = node["PerPlayerDifficulty"];
 }
示例#5
0
        public RoomSettings(NetIncomingMessage msg)
        {
            Name = msg.ReadString();

            UsePassword = msg.ReadBoolean();
            NoFail      = msg.ReadBoolean();

            msg.SkipPadBits();

            if (UsePassword)
            {
                Password = msg.ReadString();
            }

            MaxPlayers    = msg.ReadInt32();
            SelectionType = (SongSelectionType)msg.ReadByte();
        }
示例#6
0
        public void ApplyRoomSettings(RoomSettings settings)
        {
            _roomName = settings.Name;

            _usePassword              = settings.UsePassword && !string.IsNullOrEmpty(settings.Password);
            _roomPassword             = settings.Password;
            _allowPerPlayerDifficulty = settings.PerPlayerDifficulty;
            _maxPlayers = settings.MaxPlayers;

            _resultsShowTime = (int)settings.ResultsShowTime;

            _songSelectionType = settings.SelectionType;

            _createRoomButton.interactable = PluginUI.instance.roomCreationFlowCoordinator.CheckRequirements();

            parserParams.EmitEvent("cancel");
        }
示例#7
0
        public RoomSettings(NetIncomingMessage msg)
        {
            Name = msg.ReadString();

            UsePassword         = msg.ReadBoolean();
            PerPlayerDifficulty = msg.ReadBoolean();

            msg.SkipPadBits();

            if (UsePassword)
            {
                Password = msg.ReadString();
            }

            MaxPlayers      = msg.ReadInt32();
            ResultsShowTime = msg.ReadSingle();
            SelectionType   = (SongSelectionType)msg.ReadByte();
        }
示例#8
0
 public RoomInfo(NetIncomingMessage msg)
 {
     roomId      = msg.ReadUInt32();
     name        = msg.ReadString();
     usePassword = msg.ReadBoolean();
     noFail      = msg.ReadBoolean();
     msg.SkipPadBits();
     roomState         = (RoomState)msg.ReadByte();
     songSelectionType = (SongSelectionType)msg.ReadByte();
     roomHost          = new PlayerInfo(msg);
     players           = msg.ReadInt32();
     maxPlayers        = msg.ReadInt32();
     if (roomState != RoomState.SelectingSong)
     {
         selectedDifficulty = msg.ReadByte();
         selectedSong       = new SongInfo(msg);
     }
 }
示例#9
0
 private void SongSelection_ValueChanged(int obj)
 {
     _songSelectionType = (SongSelectionType)obj;
 }