void DamageAnyNPC(RaycastHit hit) { bool hasDamagableComponent = false; if (hit.collider.CompareTag("Damagable") | hit.collider.CompareTag("Player")) { hasDamagableComponent = true; } if (hasDamagableComponent == false) { return; } MonoBehaviour[] list = hit.collider.gameObject.GetComponents <MonoBehaviour>(); foreach (MonoBehaviour mb in list) { if (mb is IDamageable) { IDamageable damageable = (IDamageable)mb; Damageable_Token token = new Damageable_Token(); token.baseDamage = TurretDamage; token.damageOrigin = Damageable_Token.DamageOrigin.Player; damageable.TriggerDamage(token); } } }
void DamageAnyNPC(RaycastHit hit) { MonoBehaviour[] list = hit.collider.gameObject.GetComponents <MonoBehaviour>(); foreach (MonoBehaviour mb in list) { if (mb is IDamageable) { IDamageable damageable = (IDamageable)mb; Damageable_Token token = new Damageable_Token(); token.baseDamage = TurretDamage; token.damageOrigin = Damageable_Token.DamageOrigin.Player; damageable.TriggerDamage(token); } } }