public void OnHitAttack(AttackHitInfo info, AttackHitColliderProcessor.HitParam hit_param)
    {
        List <HitRecord> list = attackHitList.Get(info.name);

        if (list == null)
        {
            list = new List <HitRecord>();
            attackHitList.Add(info.name, list);
        }
        HitRecord hitRecord = null;
        int       i         = 0;

        for (int count = list.Count; i < count; i++)
        {
            if (list[i].target == hit_param.toObject)
            {
                hitRecord = list[i];
                break;
            }
        }
        if (hitRecord == null)
        {
            hitRecord        = new HitRecord();
            hitRecord.target = hit_param.toObject;
            list.Add(hitRecord);
        }
        hitRecord.lastHitTime = Time.get_time();
    }
Ejemplo n.º 2
0
 public void OnHitAttack(AttackHitInfo info, AttackHitColliderProcessor.HitParam hit_param)
 {
     //IL_007a: Unknown result type (might be due to invalid IL or missing references)
     //IL_007f: Unknown result type (might be due to invalid IL or missing references)
     //IL_0084: Unknown result type (might be due to invalid IL or missing references)
     //IL_0090: Unknown result type (might be due to invalid IL or missing references)
     //IL_00a4: Unknown result type (might be due to invalid IL or missing references)
     //IL_00a9: Unknown result type (might be due to invalid IL or missing references)
     //IL_00ae: Unknown result type (might be due to invalid IL or missing references)
     //IL_00b3: Unknown result type (might be due to invalid IL or missing references)
     if (attackHitChecker != null)
     {
         attackHitChecker.OnHitAttack(info, hit_param);
     }
     if (isCharacterHitDelete && hit_param.toObject is Character)
     {
         isLandHitDelete = false;
         OnDestroy();
     }
     else if ((isCharacterHitDelete || !isShotArrow) && isObjectHitDelete)
     {
         isLandHitDelete = true;
         landHitPosition = Utility.ClosestPointOnCollider(hit_param.toCollider, prevPosition);
         landHitRotation = _transform.get_rotation() * Quaternion.Euler(new Vector3(-90f, 0f, 0f));
         _rigidbody.Sleep();
     }
 }
Ejemplo n.º 3
0
 public void OnHitAttack(AttackHitInfo info, AttackHitColliderProcessor.HitParam hit_param)
 {
     if (m_attackHitChecker != null)
     {
         m_attackHitChecker.OnHitAttack(info, hit_param);
     }
 }
Ejemplo n.º 4
0
    public virtual void OnAttackedHit(AttackHitInfo info, AttackHitColliderProcessor.HitParam hit_param)
    {
        //IL_0049: Unknown result type (might be due to invalid IL or missing references)
        //IL_004e: Unknown result type (might be due to invalid IL or missing references)
        //IL_0055: Unknown result type (might be due to invalid IL or missing references)
        //IL_005a: Unknown result type (might be due to invalid IL or missing references)
        //IL_009d: Unknown result type (might be due to invalid IL or missing references)
        //IL_00a2: Unknown result type (might be due to invalid IL or missing references)
        AttackedHitStatus attackedHitStatus = new AttackedHitStatus();

        attackedHitStatus.hitParam           = hit_param;
        attackedHitStatus.attackInfo         = info;
        attackedHitStatus.fromObjectID       = hit_param.fromObject.id;
        attackedHitStatus.fromObject         = hit_param.fromObject;
        attackedHitStatus.fromType           = hit_param.fromObject.objectType;
        attackedHitStatus.fromPos            = hit_param.fromObject._position;
        attackedHitStatus.hitPos             = hit_param.point;
        attackedHitStatus.distanceXZ         = hit_param.distanceXZ;
        attackedHitStatus.hitTime            = hit_param.time;
        attackedHitStatus.isSpAttackHit      = hit_param.isSpAttackHit;
        attackedHitStatus.attackMode         = hit_param.attackMode;
        attackedHitStatus.damageDistanceData = hit_param.damageDistanceData;
        attackedHitStatus.exHitPos           = hit_param.exHitPos;
        nowAttackedHitStatus = attackedHitStatus;
        if (MonoBehaviourSingleton <CoopManager> .IsValid())
        {
            attackedHitStatus.fromClientID = MonoBehaviourSingleton <CoopManager> .I.coopMyClient.clientId;
        }
        if (attackedHitStatus.fromType == OBJECT_TYPE.SELF)
        {
            attackedHitStatus.fromType = OBJECT_TYPE.PLAYER;
        }
        OnAttackedHitDirection(new AttackedHitStatusDirection(attackedHitStatus));
        if (IsValidAttackedHit(hit_param.fromObject) && !IsPuppet() && !hit_param.fromObject.IsPuppet())
        {
            OnAttackedHitLocal(new AttackedHitStatusLocal(attackedHitStatus));
            if (IsMirror() || IsPuppet())
            {
                if (packetSender != null)
                {
                    packetSender.OnAttackedHitOwner(new AttackedHitStatusOwner(attackedHitStatus));
                }
            }
            else if (IsEnableAttackedHitOwner())
            {
                OnAttackedHitOwner(new AttackedHitStatusOwner(attackedHitStatus));
                AttackedHitStatusFix status = new AttackedHitStatusFix(attackedHitStatus);
                OnAttackedHitFix(status);
                if (packetSender != null)
                {
                    packetSender.OnAttackedHitFix(status);
                }
            }
        }
    }
Ejemplo n.º 5
0
 public virtual void OnHitAttack(AttackHitInfo info, AttackHitColliderProcessor.HitParam hit_param)
 {
     hit_param.toObject.OnAttackedHit(info, hit_param);
 }