コード例 #1
0
 // Token: 0x0600213E RID: 8510 RVA: 0x0008FEF4 File Offset: 0x0008E0F4
 private HurtBox GetBestHurtBox(out bool hadLoS)
 {
     if (this.owner.bodyInputBank)
     {
         Vector3 aimOrigin = this.owner.bodyInputBank.aimOrigin;
         HurtBox hurtBox   = null;
         float   num       = float.PositiveInfinity;
         foreach (HurtBox hurtBox2 in this.hurtBoxGroup.hurtBoxes)
         {
             if (hurtBox2.isBullseye)
             {
                 Vector3 position = hurtBox2.transform.position;
                 if (BaseAI.CheckLoS(aimOrigin, hurtBox2.transform.position))
                 {
                     float sqrMagnitude = (position - aimOrigin).sqrMagnitude;
                     if (sqrMagnitude < num)
                     {
                         num     = sqrMagnitude;
                         hurtBox = hurtBox2;
                     }
                 }
             }
         }
         if (hurtBox)
         {
             hadLoS = true;
             return(hurtBox);
         }
     }
     hadLoS = false;
     return(this.mainHurtBox);
 }
コード例 #2
0
        // Token: 0x06002132 RID: 8498 RVA: 0x0008F5F8 File Offset: 0x0008D7F8
        public HurtBox GetBestHurtBox(GameObject target)
        {
            CharacterBody component    = target.GetComponent <CharacterBody>();
            HurtBoxGroup  hurtBoxGroup = (component != null) ? component.hurtBoxGroup : null;

            if (hurtBoxGroup && hurtBoxGroup.bullseyeCount > 1 && this.bodyInputBank)
            {
                Vector3 aimOrigin = this.bodyInputBank.aimOrigin;
                HurtBox hurtBox   = null;
                float   num       = float.PositiveInfinity;
                foreach (HurtBox hurtBox2 in hurtBoxGroup.hurtBoxes)
                {
                    if (hurtBox2.isBullseye)
                    {
                        Vector3 position = hurtBox2.transform.position;
                        if (BaseAI.CheckLoS(aimOrigin, hurtBox2.transform.position))
                        {
                            float sqrMagnitude = (position - aimOrigin).sqrMagnitude;
                            if (sqrMagnitude < num)
                            {
                                num     = sqrMagnitude;
                                hurtBox = hurtBox2;
                            }
                        }
                    }
                }
                if (hurtBox)
                {
                    return(hurtBox);
                }
            }
            return(Util.FindBodyMainHurtBox(target));
        }