Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 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;
        }