// Token: 0x060010CC RID: 4300 RVA: 0x0001744C File Offset: 0x0001564C public static GameRoomData Deserialize(Stream bytes) { int num = Int32Proxy.Deserialize(bytes); GameRoomData gameRoomData = new GameRoomData(); gameRoomData.ConnectedPlayers = Int32Proxy.Deserialize(bytes); gameRoomData.GameFlags = Int32Proxy.Deserialize(bytes); gameRoomData.GameMode = EnumProxy <GameModeType> .Deserialize(bytes); if ((num & 1) != 0) { gameRoomData.Guid = StringProxy.Deserialize(bytes); } gameRoomData.IsPasswordProtected = BooleanProxy.Deserialize(bytes); gameRoomData.IsPermanentGame = BooleanProxy.Deserialize(bytes); gameRoomData.KillLimit = Int32Proxy.Deserialize(bytes); gameRoomData.LevelMax = ByteProxy.Deserialize(bytes); gameRoomData.LevelMin = ByteProxy.Deserialize(bytes); gameRoomData.MapID = Int32Proxy.Deserialize(bytes); if ((num & 2) != 0) { gameRoomData.Name = StringProxy.Deserialize(bytes); } gameRoomData.Number = Int32Proxy.Deserialize(bytes); gameRoomData.PlayerLimit = Int32Proxy.Deserialize(bytes); if ((num & 4) != 0) { gameRoomData.Server = ConnectionAddressProxy.Deserialize(bytes); } gameRoomData.TimeLimit = Int32Proxy.Deserialize(bytes); return(gameRoomData); }
// Token: 0x060010C8 RID: 4296 RVA: 0x000171EC File Offset: 0x000153EC public static CommActorInfo Deserialize(Stream bytes) { int num = Int32Proxy.Deserialize(bytes); CommActorInfo commActorInfo = new CommActorInfo(); commActorInfo.AccessLevel = EnumProxy <MemberAccessLevel> .Deserialize(bytes); commActorInfo.Channel = EnumProxy <ChannelType> .Deserialize(bytes); if ((num & 1) != 0) { commActorInfo.ClanTag = StringProxy.Deserialize(bytes); } commActorInfo.Cmid = Int32Proxy.Deserialize(bytes); if ((num & 2) != 0) { commActorInfo.CurrentRoom = GameRoomProxy.Deserialize(bytes); } commActorInfo.ModerationFlag = ByteProxy.Deserialize(bytes); if ((num & 4) != 0) { commActorInfo.ModInformation = StringProxy.Deserialize(bytes); } if ((num & 8) != 0) { commActorInfo.PlayerName = StringProxy.Deserialize(bytes); } return(commActorInfo); }
// Token: 0x060010C2 RID: 4290 RVA: 0x00016D94 File Offset: 0x00014F94 public static GameActorInfo Deserialize(Stream bytes) { int num = Int32Proxy.Deserialize(bytes); GameActorInfo gameActorInfo = new GameActorInfo(); gameActorInfo.AccessLevel = EnumProxy <MemberAccessLevel> .Deserialize(bytes); gameActorInfo.ArmorPointCapacity = ByteProxy.Deserialize(bytes); gameActorInfo.ArmorPoints = ByteProxy.Deserialize(bytes); gameActorInfo.Channel = EnumProxy <ChannelType> .Deserialize(bytes); if ((num & 1) != 0) { gameActorInfo.ClanTag = StringProxy.Deserialize(bytes); } gameActorInfo.Cmid = Int32Proxy.Deserialize(bytes); gameActorInfo.CurrentFiringMode = EnumProxy <FireMode> .Deserialize(bytes); gameActorInfo.CurrentWeaponSlot = ByteProxy.Deserialize(bytes); gameActorInfo.Deaths = Int16Proxy.Deserialize(bytes); if ((num & 2) != 0) { gameActorInfo.FunctionalItems = ListProxy <int> .Deserialize(bytes, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize)); } if ((num & 4) != 0) { gameActorInfo.Gear = ListProxy <int> .Deserialize(bytes, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize)); } gameActorInfo.Health = Int16Proxy.Deserialize(bytes); gameActorInfo.Kills = Int16Proxy.Deserialize(bytes); gameActorInfo.Level = Int32Proxy.Deserialize(bytes); gameActorInfo.Ping = UInt16Proxy.Deserialize(bytes); gameActorInfo.PlayerId = ByteProxy.Deserialize(bytes); if ((num & 8) != 0) { gameActorInfo.PlayerName = StringProxy.Deserialize(bytes); } gameActorInfo.PlayerState = EnumProxy <PlayerStates> .Deserialize(bytes); if ((num & 16) != 0) { gameActorInfo.QuickItems = ListProxy <int> .Deserialize(bytes, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize)); } gameActorInfo.Rank = ByteProxy.Deserialize(bytes); gameActorInfo.SkinColor = ColorProxy.Deserialize(bytes); gameActorInfo.StepSound = EnumProxy <SurfaceType> .Deserialize(bytes); gameActorInfo.TeamID = EnumProxy <TeamID> .Deserialize(bytes); if ((num & 32) != 0) { gameActorInfo.Weapons = ListProxy <int> .Deserialize(bytes, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize)); } return(gameActorInfo); }
// Token: 0x060010C4 RID: 4292 RVA: 0x00016FC4 File Offset: 0x000151C4 public static PlayerMovement Deserialize(Stream bytes) { return(new PlayerMovement { HorizontalRotation = ByteProxy.Deserialize(bytes), KeyState = ByteProxy.Deserialize(bytes), MovementState = ByteProxy.Deserialize(bytes), Number = ByteProxy.Deserialize(bytes), Position = ShortVector3Proxy.Deserialize(bytes), Velocity = ShortVector3Proxy.Deserialize(bytes), VerticalRotation = ByteProxy.Deserialize(bytes) }); }
// Token: 0x060010BE RID: 4286 RVA: 0x00016914 File Offset: 0x00014B14 public static DamageEvent Deserialize(Stream bytes) { int num = Int32Proxy.Deserialize(bytes); DamageEvent damageEvent = new DamageEvent(); damageEvent.BodyPartFlag = ByteProxy.Deserialize(bytes); if ((num & 1) != 0) { damageEvent.Damage = DictionaryProxy <byte, byte> .Deserialize(bytes, new DictionaryProxy <byte, byte> .Deserializer <byte>(ByteProxy.Deserialize), new DictionaryProxy <byte, byte> .Deserializer <byte>(ByteProxy.Deserialize)); } damageEvent.DamageEffectFlag = Int32Proxy.Deserialize(bytes); damageEvent.DamgeEffectValue = SingleProxy.Deserialize(bytes); return(damageEvent); }
// Token: 0x060010C3 RID: 4291 RVA: 0x00016F34 File Offset: 0x00015134 public static void Serialize(Stream stream, PlayerMovement instance) { using (MemoryStream memoryStream = new MemoryStream()) { ByteProxy.Serialize(memoryStream, instance.HorizontalRotation); ByteProxy.Serialize(memoryStream, instance.KeyState); ByteProxy.Serialize(memoryStream, instance.MovementState); ByteProxy.Serialize(memoryStream, instance.Number); ShortVector3Proxy.Serialize(memoryStream, instance.Position); ShortVector3Proxy.Serialize(memoryStream, instance.Velocity); ByteProxy.Serialize(memoryStream, instance.VerticalRotation); memoryStream.WriteTo(stream); } }
// Token: 0x060010C7 RID: 4295 RVA: 0x000170F4 File Offset: 0x000152F4 public static void Serialize(Stream stream, CommActorInfo instance) { int num = 0; using (MemoryStream memoryStream = new MemoryStream()) { EnumProxy <MemberAccessLevel> .Serialize(memoryStream, instance.AccessLevel); EnumProxy <ChannelType> .Serialize(memoryStream, instance.Channel); if (instance.ClanTag != null) { StringProxy.Serialize(memoryStream, instance.ClanTag); } else { num |= 1; } Int32Proxy.Serialize(memoryStream, instance.Cmid); if (instance.CurrentRoom != null) { GameRoomProxy.Serialize(memoryStream, instance.CurrentRoom); } else { num |= 2; } ByteProxy.Serialize(memoryStream, instance.ModerationFlag); if (instance.ModInformation != null) { StringProxy.Serialize(memoryStream, instance.ModInformation); } else { num |= 4; } if (instance.PlayerName != null) { StringProxy.Serialize(memoryStream, instance.PlayerName); } else { num |= 8; } Int32Proxy.Serialize(stream, ~num); memoryStream.WriteTo(stream); } }
// Token: 0x060010CB RID: 4299 RVA: 0x00017308 File Offset: 0x00015508 public static void Serialize(Stream stream, GameRoomData instance) { int num = 0; using (MemoryStream memoryStream = new MemoryStream()) { Int32Proxy.Serialize(memoryStream, instance.ConnectedPlayers); Int32Proxy.Serialize(memoryStream, instance.GameFlags); EnumProxy <GameModeType> .Serialize(memoryStream, instance.GameMode); if (instance.Guid != null) { StringProxy.Serialize(memoryStream, instance.Guid); } else { num |= 1; } BooleanProxy.Serialize(memoryStream, instance.IsPasswordProtected); BooleanProxy.Serialize(memoryStream, instance.IsPermanentGame); Int32Proxy.Serialize(memoryStream, instance.KillLimit); ByteProxy.Serialize(memoryStream, instance.LevelMax); ByteProxy.Serialize(memoryStream, instance.LevelMin); Int32Proxy.Serialize(memoryStream, instance.MapID); if (instance.Name != null) { StringProxy.Serialize(memoryStream, instance.Name); } else { num |= 2; } Int32Proxy.Serialize(memoryStream, instance.Number); Int32Proxy.Serialize(memoryStream, instance.PlayerLimit); if (instance.Server != null) { ConnectionAddressProxy.Serialize(memoryStream, instance.Server); } else { num |= 4; } Int32Proxy.Serialize(memoryStream, instance.TimeLimit); Int32Proxy.Serialize(stream, ~num); memoryStream.WriteTo(stream); } }
// Token: 0x060010AE RID: 4270 RVA: 0x000158F4 File Offset: 0x00013AF4 public static CommActorInfoDelta Deserialize(Stream bytes) { int num = Int32Proxy.Deserialize(bytes); byte id = ByteProxy.Deserialize(bytes); CommActorInfoDelta commActorInfoDelta = new CommActorInfoDelta(); commActorInfoDelta.Id = id; if (num != 0) { if ((num & 1) != 0) { commActorInfoDelta.Changes[CommActorInfoDelta.Keys.AccessLevel] = EnumProxy <MemberAccessLevel> .Deserialize(bytes); } if ((num & 2) != 0) { commActorInfoDelta.Changes[CommActorInfoDelta.Keys.Channel] = EnumProxy <ChannelType> .Deserialize(bytes); } if ((num & 4) != 0) { commActorInfoDelta.Changes[CommActorInfoDelta.Keys.ClanTag] = StringProxy.Deserialize(bytes); } if ((num & 8) != 0) { commActorInfoDelta.Changes[CommActorInfoDelta.Keys.Cmid] = Int32Proxy.Deserialize(bytes); } if ((num & 16) != 0) { commActorInfoDelta.Changes[CommActorInfoDelta.Keys.CurrentRoom] = GameRoomProxy.Deserialize(bytes); } if ((num & 32) != 0) { commActorInfoDelta.Changes[CommActorInfoDelta.Keys.ModerationFlag] = ByteProxy.Deserialize(bytes); } if ((num & 64) != 0) { commActorInfoDelta.Changes[CommActorInfoDelta.Keys.ModInformation] = StringProxy.Deserialize(bytes); } if ((num & 128) != 0) { commActorInfoDelta.Changes[CommActorInfoDelta.Keys.PlayerName] = StringProxy.Deserialize(bytes); } } return(commActorInfoDelta); }
// Token: 0x060010AD RID: 4269 RVA: 0x00015794 File Offset: 0x00013994 public static void Serialize(Stream stream, CommActorInfoDelta instance) { if (instance != null) { Int32Proxy.Serialize(stream, instance.DeltaMask); ByteProxy.Serialize(stream, instance.Id); if ((instance.DeltaMask & 1) != 0) { EnumProxy <MemberAccessLevel> .Serialize(stream, (MemberAccessLevel)((int)instance.Changes[CommActorInfoDelta.Keys.AccessLevel])); } if ((instance.DeltaMask & 2) != 0) { EnumProxy <ChannelType> .Serialize(stream, (ChannelType)((int)instance.Changes[CommActorInfoDelta.Keys.Channel])); } if ((instance.DeltaMask & 4) != 0) { StringProxy.Serialize(stream, (string)instance.Changes[CommActorInfoDelta.Keys.ClanTag]); } if ((instance.DeltaMask & 8) != 0) { Int32Proxy.Serialize(stream, (int)instance.Changes[CommActorInfoDelta.Keys.Cmid]); } if ((instance.DeltaMask & 16) != 0) { GameRoomProxy.Serialize(stream, (GameRoom)instance.Changes[CommActorInfoDelta.Keys.CurrentRoom]); } if ((instance.DeltaMask & 32) != 0) { ByteProxy.Serialize(stream, (byte)instance.Changes[CommActorInfoDelta.Keys.ModerationFlag]); } if ((instance.DeltaMask & 64) != 0) { StringProxy.Serialize(stream, (string)instance.Changes[CommActorInfoDelta.Keys.ModInformation]); } if ((instance.DeltaMask & 128) != 0) { StringProxy.Serialize(stream, (string)instance.Changes[CommActorInfoDelta.Keys.PlayerName]); } } else { Int32Proxy.Serialize(stream, 0); } }
// Token: 0x060010BD RID: 4285 RVA: 0x00016870 File Offset: 0x00014A70 public static void Serialize(Stream stream, DamageEvent instance) { int num = 0; using (MemoryStream memoryStream = new MemoryStream()) { ByteProxy.Serialize(memoryStream, instance.BodyPartFlag); if (instance.Damage != null) { DictionaryProxy <byte, byte> .Serialize(memoryStream, instance.Damage, new DictionaryProxy <byte, byte> .Serializer <byte>(ByteProxy.Serialize), new DictionaryProxy <byte, byte> .Serializer <byte>(ByteProxy.Serialize)); } else { num |= 1; } Int32Proxy.Serialize(memoryStream, instance.DamageEffectFlag); SingleProxy.Serialize(memoryStream, instance.DamgeEffectValue); Int32Proxy.Serialize(stream, ~num); memoryStream.WriteTo(stream); } }
// Token: 0x060010B5 RID: 4277 RVA: 0x00015D0C File Offset: 0x00013F0C public static void Serialize(Stream stream, GameActorInfoDelta instance) { if (instance != null) { Int32Proxy.Serialize(stream, instance.DeltaMask); ByteProxy.Serialize(stream, instance.Id); if ((instance.DeltaMask & 1) != 0) { EnumProxy <MemberAccessLevel> .Serialize(stream, (MemberAccessLevel)((int)instance.Changes[GameActorInfoDelta.Keys.AccessLevel])); } if ((instance.DeltaMask & 2) != 0) { ByteProxy.Serialize(stream, (byte)instance.Changes[GameActorInfoDelta.Keys.ArmorPointCapacity]); } if ((instance.DeltaMask & 4) != 0) { ByteProxy.Serialize(stream, (byte)instance.Changes[GameActorInfoDelta.Keys.ArmorPoints]); } if ((instance.DeltaMask & 8) != 0) { EnumProxy <ChannelType> .Serialize(stream, (ChannelType)((int)instance.Changes[GameActorInfoDelta.Keys.Channel])); } if ((instance.DeltaMask & 16) != 0) { StringProxy.Serialize(stream, (string)instance.Changes[GameActorInfoDelta.Keys.ClanTag]); } if ((instance.DeltaMask & 32) != 0) { Int32Proxy.Serialize(stream, (int)instance.Changes[GameActorInfoDelta.Keys.Cmid]); } if ((instance.DeltaMask & 64) != 0) { EnumProxy <FireMode> .Serialize(stream, (FireMode)((int)instance.Changes[GameActorInfoDelta.Keys.CurrentFiringMode])); } if ((instance.DeltaMask & 128) != 0) { ByteProxy.Serialize(stream, (byte)instance.Changes[GameActorInfoDelta.Keys.CurrentWeaponSlot]); } if ((instance.DeltaMask & 256) != 0) { Int16Proxy.Serialize(stream, (short)instance.Changes[GameActorInfoDelta.Keys.Deaths]); } if ((instance.DeltaMask & 512) != 0) { ListProxy <int> .Serialize(stream, (List <int>) instance.Changes[GameActorInfoDelta.Keys.FunctionalItems], new ListProxy <int> .Serializer <int>(Int32Proxy.Serialize)); } if ((instance.DeltaMask & 1024) != 0) { ListProxy <int> .Serialize(stream, (List <int>) instance.Changes[GameActorInfoDelta.Keys.Gear], new ListProxy <int> .Serializer <int>(Int32Proxy.Serialize)); } if ((instance.DeltaMask & 2048) != 0) { Int16Proxy.Serialize(stream, (short)instance.Changes[GameActorInfoDelta.Keys.Health]); } if ((instance.DeltaMask & 4096) != 0) { Int16Proxy.Serialize(stream, (short)instance.Changes[GameActorInfoDelta.Keys.Kills]); } if ((instance.DeltaMask & 8192) != 0) { Int32Proxy.Serialize(stream, (int)instance.Changes[GameActorInfoDelta.Keys.Level]); } if ((instance.DeltaMask & 16384) != 0) { UInt16Proxy.Serialize(stream, (ushort)instance.Changes[GameActorInfoDelta.Keys.Ping]); } if ((instance.DeltaMask & 32768) != 0) { ByteProxy.Serialize(stream, (byte)instance.Changes[GameActorInfoDelta.Keys.PlayerId]); } if ((instance.DeltaMask & 65536) != 0) { StringProxy.Serialize(stream, (string)instance.Changes[GameActorInfoDelta.Keys.PlayerName]); } if ((instance.DeltaMask & 131072) != 0) { EnumProxy <PlayerStates> .Serialize(stream, (PlayerStates)((byte)instance.Changes[GameActorInfoDelta.Keys.PlayerState])); } if ((instance.DeltaMask & 262144) != 0) { ListProxy <int> .Serialize(stream, (List <int>) instance.Changes[GameActorInfoDelta.Keys.QuickItems], new ListProxy <int> .Serializer <int>(Int32Proxy.Serialize)); } if ((instance.DeltaMask & 524288) != 0) { ByteProxy.Serialize(stream, (byte)instance.Changes[GameActorInfoDelta.Keys.Rank]); } if ((instance.DeltaMask & 1048576) != 0) { ColorProxy.Serialize(stream, (Color)instance.Changes[GameActorInfoDelta.Keys.SkinColor]); } if ((instance.DeltaMask & 2097152) != 0) { EnumProxy <SurfaceType> .Serialize(stream, (SurfaceType)((int)instance.Changes[GameActorInfoDelta.Keys.StepSound])); } if ((instance.DeltaMask & 4194304) != 0) { EnumProxy <TeamID> .Serialize(stream, (TeamID)((int)instance.Changes[GameActorInfoDelta.Keys.TeamID])); } if ((instance.DeltaMask & 8388608) != 0) { ListProxy <int> .Serialize(stream, (List <int>) instance.Changes[GameActorInfoDelta.Keys.Weapons], new ListProxy <int> .Serializer <int>(Int32Proxy.Serialize)); } } else { Int32Proxy.Serialize(stream, 0); } }
// Token: 0x060010B6 RID: 4278 RVA: 0x0001612C File Offset: 0x0001432C public static GameActorInfoDelta Deserialize(Stream bytes) { int num = Int32Proxy.Deserialize(bytes); byte id = ByteProxy.Deserialize(bytes); GameActorInfoDelta gameActorInfoDelta = new GameActorInfoDelta(); gameActorInfoDelta.Id = id; if (num != 0) { if ((num & 1) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.AccessLevel] = EnumProxy <MemberAccessLevel> .Deserialize(bytes); } if ((num & 2) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.ArmorPointCapacity] = ByteProxy.Deserialize(bytes); } if ((num & 4) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.ArmorPoints] = ByteProxy.Deserialize(bytes); } if ((num & 8) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.Channel] = EnumProxy <ChannelType> .Deserialize(bytes); } if ((num & 16) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.ClanTag] = StringProxy.Deserialize(bytes); } if ((num & 32) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.Cmid] = Int32Proxy.Deserialize(bytes); } if ((num & 64) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.CurrentFiringMode] = EnumProxy <FireMode> .Deserialize(bytes); } if ((num & 128) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.CurrentWeaponSlot] = ByteProxy.Deserialize(bytes); } if ((num & 256) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.Deaths] = Int16Proxy.Deserialize(bytes); } if ((num & 512) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.FunctionalItems] = ListProxy <int> .Deserialize(bytes, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize)); } if ((num & 1024) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.Gear] = ListProxy <int> .Deserialize(bytes, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize)); } if ((num & 2048) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.Health] = Int16Proxy.Deserialize(bytes); } if ((num & 4096) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.Kills] = Int16Proxy.Deserialize(bytes); } if ((num & 8192) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.Level] = Int32Proxy.Deserialize(bytes); } if ((num & 16384) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.Ping] = UInt16Proxy.Deserialize(bytes); } if ((num & 32768) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.PlayerId] = ByteProxy.Deserialize(bytes); } if ((num & 65536) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.PlayerName] = StringProxy.Deserialize(bytes); } if ((num & 131072) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.PlayerState] = EnumProxy <PlayerStates> .Deserialize(bytes); } if ((num & 262144) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.QuickItems] = ListProxy <int> .Deserialize(bytes, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize)); } if ((num & 524288) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.Rank] = ByteProxy.Deserialize(bytes); } if ((num & 1048576) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.SkinColor] = ColorProxy.Deserialize(bytes); } if ((num & 2097152) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.StepSound] = EnumProxy <SurfaceType> .Deserialize(bytes); } if ((num & 4194304) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.TeamID] = EnumProxy <TeamID> .Deserialize(bytes); } if ((num & 8388608) != 0) { gameActorInfoDelta.Changes[GameActorInfoDelta.Keys.Weapons] = ListProxy <int> .Deserialize(bytes, new ListProxy <int> .Deserializer <int>(Int32Proxy.Deserialize)); } } return(gameActorInfoDelta); }
// Token: 0x060010C1 RID: 4289 RVA: 0x00016B78 File Offset: 0x00014D78 public static void Serialize(Stream stream, GameActorInfo instance) { int num = 0; using (MemoryStream memoryStream = new MemoryStream()) { EnumProxy <MemberAccessLevel> .Serialize(memoryStream, instance.AccessLevel); ByteProxy.Serialize(memoryStream, instance.ArmorPointCapacity); ByteProxy.Serialize(memoryStream, instance.ArmorPoints); EnumProxy <ChannelType> .Serialize(memoryStream, instance.Channel); if (instance.ClanTag != null) { StringProxy.Serialize(memoryStream, instance.ClanTag); } else { num |= 1; } Int32Proxy.Serialize(memoryStream, instance.Cmid); EnumProxy <FireMode> .Serialize(memoryStream, instance.CurrentFiringMode); ByteProxy.Serialize(memoryStream, instance.CurrentWeaponSlot); Int16Proxy.Serialize(memoryStream, instance.Deaths); if (instance.FunctionalItems != null) { ListProxy <int> .Serialize(memoryStream, instance.FunctionalItems, new ListProxy <int> .Serializer <int>(Int32Proxy.Serialize)); } else { num |= 2; } if (instance.Gear != null) { ListProxy <int> .Serialize(memoryStream, instance.Gear, new ListProxy <int> .Serializer <int>(Int32Proxy.Serialize)); } else { num |= 4; } Int16Proxy.Serialize(memoryStream, instance.Health); Int16Proxy.Serialize(memoryStream, instance.Kills); Int32Proxy.Serialize(memoryStream, instance.Level); UInt16Proxy.Serialize(memoryStream, instance.Ping); ByteProxy.Serialize(memoryStream, instance.PlayerId); if (instance.PlayerName != null) { StringProxy.Serialize(memoryStream, instance.PlayerName); } else { num |= 8; } EnumProxy <PlayerStates> .Serialize(memoryStream, instance.PlayerState); if (instance.QuickItems != null) { ListProxy <int> .Serialize(memoryStream, instance.QuickItems, new ListProxy <int> .Serializer <int>(Int32Proxy.Serialize)); } else { num |= 16; } ByteProxy.Serialize(memoryStream, instance.Rank); ColorProxy.Serialize(memoryStream, instance.SkinColor); EnumProxy <SurfaceType> .Serialize(memoryStream, instance.StepSound); EnumProxy <TeamID> .Serialize(memoryStream, instance.TeamID); if (instance.Weapons != null) { ListProxy <int> .Serialize(memoryStream, instance.Weapons, new ListProxy <int> .Serializer <int>(Int32Proxy.Serialize)); } else { num |= 32; } Int32Proxy.Serialize(stream, ~num); memoryStream.WriteTo(stream); } }