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 StartLevelInfo(msg); selectedSong = new SongInfo(msg); } else { startLevelInfo = null; selectedSong = null; } } catch { } }
public void AddToMessage(NetOutgoingMessage msg) { songSelected = selectedSong != null && roomState != RoomState.SelectingSong; msg.Write(roomId); msg.Write(name); msg.Write(usePassword); msg.Write(perPlayerDifficulty); msg.Write(songSelected); msg.WritePadBits(); msg.Write((byte)roomState); msg.Write((byte)songSelectionType); roomHost.AddToMessage(msg); msg.Write(players); msg.Write(maxPlayers); if (songSelected) { if (startLevelInfo == null) { startLevelInfo = new StartLevelInfo(BeatmapDifficulty.Hard, new GameplayModifiers(), "Standard"); } startLevelInfo.AddToMessage(msg); selectedSong.AddToMessage(msg); } }
public ChannelInfo(NetIncomingMessage msg) { channelId = msg.ReadInt32(); name = msg.ReadString(); iconUrl = msg.ReadString(); state = (ChannelState)msg.ReadByte(); if (state != ChannelState.Voting) { currentSong = new SongInfo(msg); currentLevelOptions = new StartLevelInfo(msg); if (currentSong.songName == "Selecting song..." && currentSong.levelId == "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF") { currentSong = null; currentLevelOptions = null; } } playerCount = msg.ReadInt32(); }