public void SetFullState(ByteArrayReader reader) { var isNull = reader.ReadBool(); if (isNull) { _isNullWeapon = true; return; } else { _isNullWeapon = false; } TargetingType = (WeaponTargetingType)reader.ReadByte(); MaxDistance = reader.ReadFloat(); ProjectileType = ResolveTypeFromString(reader.ReadString()); ProjectileVelocity = reader.ReadHalfVector(); ProjectileOffset = reader.ReadHalfVector(); ProjectileRotation = reader.ReadHalf(); ProjectileRotationVelocity = reader.ReadHalf(); MaxActiveProjectileCount = reader.ReadUShort(); FireRotationIsRelativeToTankRotation = reader.ReadBool(); FireRotationIsRelativeToTankLookDirection = reader.ReadBool(); AddedRotation = reader.ReadHalf(); TransformPositionAndVelocityByRotation = reader.ReadBool(); WeaponRechargeTime = reader.ReadTimeSpan(); WeaponName = reader.ReadString(); TimeRecharged = reader.ReadTimeSpan(); _projectileArray = reader.ReadBytes(); }
private void SetFullStateHeader(ByteArrayReader reader) { var reflectionName = reader.ReadString(); GameEnded = reader.ReadBool(); AllowRespawn = reader.ReadBool(); RespawnTime = reader.ReadTimeSpan(); var winningTeamId = reader.ReadShort(); var teamCount = reader.ReadUShort(); var teams = new List <Team>(); if (Teams != null) { teams.AddRange(Teams); } for (var i = 0; i < teamCount; i++) { var t = MakeFullStateTeam(reader); bool teamIdExists = false; foreach (var team in Teams) { if (team.TeamId == t.TeamId) { teamIdExists = true; } } if (!teamIdExists) { teams.Add(t); } } if (winningTeamId == Team.Indeterminate.TeamId) { WinningTeam = Team.Indeterminate; } else if (winningTeamId == Team.Null.TeamId) { WinningTeam = Team.Null; } else { foreach (var team in teams) { if (team.TeamId == winningTeamId) { WinningTeam = team; } } } Teams = teams.ToArray(); }
protected override void SetTypeStateHeader(ByteArrayReader reader) { if (reader.ReadBool() && PrimaryWeapon != null) { PrimaryWeapon.SetFullState(reader); } if (reader.ReadBool() && SecondaryWeapon != null) { SecondaryWeapon.SetFullState(reader); } if (reader.ReadBool() && TertiaryWeapon != null) { TertiaryWeapon.SetFullState(reader); } }
private void SetStateHeader(ByteArrayReader reader) { IsSensor = reader.ReadBool(); IsStatic = reader.ReadBool(); ColorMask = reader.ReadColor(); TimeAlive = reader.ReadTimeSpan(); Size = reader.ReadVector(); Position = reader.ReadVector(); LinearVelocity = reader.ReadVector(); Rotation = reader.ReadFloat(); AngularVelocity = reader.ReadFloat(); Restitution = reader.ReadFloat(); Health = reader.ReadFloat(); SetTypeStateHeader(reader); }
protected override int ReadFromByteArray(ByteArrayReader reader) { base.ReadFromByteArray(reader); Success = reader.ReadBool(); Message = reader.ReadString(); return reader.Index; }
protected override int ReadFromByteArray(ByteArrayReader reader) { base.ReadFromByteArray(reader); IsGameStarted = reader.ReadBool(); DeckSize = reader.ReadInt32(); PlayerIndex = reader.ReadInt32(); Reverse = reader.ReadBool(); Top = reader.Read<Card>(); Winner = reader.ReadString(); Players = reader.ReadStringList(); PlayerHandSizes = reader.ReadIntList(); Cards = reader.ReadList<Card>(); return reader.Index; }