Example #1
0
        private static List <a10000_BoomHitData.HitData> BaseReadInfo(ReceivePacket p, bool OnlyBytes, bool genLog)
        {
            List <a10000_BoomHitData.HitData> hitDataList = new List <a10000_BoomHitData.HitData>();
            int num1 = (int)p.readC();

            for (int index1 = 0; index1 < num1; ++index1)
            {
                a10000_BoomHitData.HitData hitData = new a10000_BoomHitData.HitData()
                {
                    _hitInfo       = p.readUD(),
                    _boomInfo      = p.readUH(),
                    _weaponInfo    = p.readUH(),
                    _weaponSlot    = p.readC(),
                    _deathType     = p.readC(),
                    FirePos        = p.readUHVector(),
                    HitPos         = p.readUHVector(),
                    _grenadesCount = p.readUH()
                };
                if (!OnlyBytes)
                {
                    hitData.HitEnum = (HitType)AllUtils.getHitHelmet(hitData._hitInfo);
                    if (hitData._boomInfo > (ushort)0)
                    {
                        hitData.BoomPlayers = new List <int>();
                        for (int index2 = 0; index2 < 16; ++index2)
                        {
                            int num2 = 1 << index2;
                            if (((int)hitData._boomInfo & num2) == num2)
                            {
                                hitData.BoomPlayers.Add(index2);
                            }
                        }
                    }
                    hitData.WeaponClass = (ClassType)((int)hitData._weaponInfo & 63);
                    hitData.WeaponId    = (int)hitData._weaponInfo >> 6;
                }
                if (genLog)
                {
                    Logger.warning("[Player pos] X: " + (object)hitData.FirePos.X + "; Y: " + (object)hitData.FirePos.Y + "; Z: " + (object)hitData.FirePos.Z, false);
                    Logger.warning("[Object pos] X: " + (object)hitData.HitPos.X + "; Y: " + (object)hitData.HitPos.Y + "; Z: " + (object)hitData.HitPos.Z, false);
                }
                hitDataList.Add(hitData);
            }
            return(hitDataList);
        }