Esempio n. 1
0
 public void GetDamageDealer(BaseEntity entity)
 {
     if (entity.TryGetBehaviour(out damageReceiver))
     {
         OnDamageDealerSet.Invoke();
     }
 }
Esempio n. 2
0
        private void CheckObjects()
        {
            switch (getComponentMode)
            {
            case GetComponentMode.self:
                for (int i = 0; i < hitObjs.Length; i++)
                {
                    if (hitObjs[i].TryGetComponent(out tempEntity))
                    {
                        OnEntityHit.Invoke(tempEntity);
                        if (tempEntity.TryGetBehaviour(out tempDamageReceiver))
                        {
                            DealDamage();
                        }
                    }
                }
                break;

            case GetComponentMode.parent:
                for (int i = 0; i < hitObjs.Length; i++)
                {
                    tempEntity = hitObjs[i].GetComponentInParent <BaseEntity>();
                    if (tempEntity)
                    {
                        OnEntityHit.Invoke(tempEntity);
                        if (tempEntity.TryGetBehaviour(out tempDamageReceiver))
                        {
                            DealDamage();
                        }
                    }
                }
                break;

            case GetComponentMode.children:
                for (int i = 0; i < hitObjs.Length; i++)
                {
                    tempEntity = hitObjs[i].GetComponentInChildren <BaseEntity>();
                    if (tempEntity)
                    {
                        OnEntityHit.Invoke(tempEntity);
                        if (tempEntity.TryGetBehaviour(out tempDamageReceiver))
                        {
                            DealDamage();
                        }
                    }
                }
                break;
            }
        }