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 PlayerInfo(NetIncomingMessage msg) { playerName = msg.ReadString(); playerId = msg.ReadUInt64(); playerNameColor = new Color32(msg.ReadByte(), msg.ReadByte(), msg.ReadByte(), 255); playerState = (PlayerState)msg.ReadByte(); fullBodyTracking = msg.ReadBoolean(); playerScore = msg.ReadVariableUInt32(); playerCutBlocks = msg.ReadVariableUInt32(); playerComboBlocks = msg.ReadVariableUInt32(); playerTotalBlocks = msg.ReadVariableUInt32(); msg.ReadPadBits(); playerEnergy = msg.ReadFloat(); playerProgress = msg.ReadFloat(); playerLevelOptions = new LevelOptionsInfo(msg); rightHandPos = msg.ReadVector3(); leftHandPos = msg.ReadVector3(); headPos = msg.ReadVector3(); rightHandRot = msg.ReadQuaternion(); leftHandRot = msg.ReadQuaternion(); headRot = msg.ReadQuaternion(); if (fullBodyTracking) { pelvisPos = msg.ReadVector3(); leftLegPos = msg.ReadVector3(); rightLegPos = msg.ReadVector3(); pelvisRot = msg.ReadQuaternion(); leftLegRot = msg.ReadQuaternion(); rightLegRot = msg.ReadQuaternion(); } avatarHash = BitConverter.ToString(msg.ReadBytes(16)).Replace("-", ""); hitsLastUpdate.Clear(); byte hitsCount = msg.ReadByte(); for (int i = 0; i < hitsCount; i++) { hitsLastUpdate.Add(new HitData(msg)); } }
public PlayerUpdate(NetIncomingMessage msg) { playerNameColor = new Color32(msg.ReadByte(), msg.ReadByte(), msg.ReadByte(), 255); playerState = (PlayerState)msg.ReadByte(); fullBodyTracking = (msg.ReadByte() == 1); playerScore = msg.ReadVariableUInt32(); playerCutBlocks = msg.ReadVariableUInt32(); playerComboBlocks = msg.ReadVariableUInt32(); playerTotalBlocks = msg.ReadVariableUInt32(); playerEnergy = msg.ReadFloat(); playerProgress = msg.ReadFloat(); playerLevelOptions = new LevelOptionsInfo(msg); playerFlags = new ExtraPlayerFlags(msg); rightHandPos = msg.ReadVector3(); leftHandPos = msg.ReadVector3(); headPos = msg.ReadVector3(); rightHandRot = msg.ReadQuaternion(); leftHandRot = msg.ReadQuaternion(); headRot = msg.ReadQuaternion(); if (fullBodyTracking) { pelvisPos = msg.ReadVector3(); leftLegPos = msg.ReadVector3(); rightLegPos = msg.ReadVector3(); pelvisRot = msg.ReadQuaternion(); leftLegRot = msg.ReadQuaternion(); rightLegRot = msg.ReadQuaternion(); } else { pelvisPos = Vector3.zero; leftLegPos = Vector3.zero; rightLegPos = Vector3.zero; pelvisRot = Quaternion.identity; leftLegRot = Quaternion.identity; rightLegRot = Quaternion.identity; } }
public PlayerInfo(PlayerInfo original) { var fields = typeof(PlayerInfo).GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); foreach (var field in fields) { if (field.FieldType.IsValueType) { field.SetValue(this, field.GetValue(original)); } } playerLevelOptions = new LevelOptionsInfo(original.playerLevelOptions); hitsLastUpdate = new List <HitData>(original.hitsLastUpdate); playerName = original.playerName; avatarHash = original.avatarHash; }
public void AddToMessage(NetOutgoingMessage msg) { msg.Write(playerNameColor.r); msg.Write(playerNameColor.g); msg.Write(playerNameColor.b); msg.Write((byte)playerState); msg.Write(fullBodyTracking ? (byte)1 : (byte)0); msg.WriteVariableUInt32(playerScore); msg.WriteVariableUInt32(playerCutBlocks); msg.WriteVariableUInt32(playerComboBlocks); msg.WriteVariableUInt32(playerTotalBlocks); msg.Write(playerEnergy); msg.Write(playerProgress); if (playerLevelOptions == default) { playerLevelOptions = new LevelOptionsInfo(BeatmapDifficulty.Hard, GameplayModifiers.defaultModifiers, "Standard"); } playerLevelOptions.AddToMessage(msg); playerFlags.AddToMessage(msg); rightHandPos.AddToMessage(msg); leftHandPos.AddToMessage(msg); headPos.AddToMessage(msg); rightHandRot.AddToMessage(msg); leftHandRot.AddToMessage(msg); headRot.AddToMessage(msg); if (fullBodyTracking) { pelvisPos.AddToMessage(msg); leftLegPos.AddToMessage(msg); rightLegPos.AddToMessage(msg); pelvisRot.AddToMessage(msg); leftLegRot.AddToMessage(msg); rightLegRot.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 LevelOptionsInfo(msg); if (currentSong.songName == "Selecting song..." && currentSong.levelId == "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF") { currentSong = null; currentLevelOptions = default; } } playerCount = msg.ReadInt32(); }
public LevelOptionsInfo(LevelOptionsInfo original) { difficulty = original.difficulty; modifiers = original.modifiers; characteristicName = original.characteristicName; }