public void GetDamageDealer(BaseEntity entity) { if (entity.TryGetBehaviour(out damageReceiver)) { OnDamageDealerSet.Invoke(); } }
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; } }