public void impact(GameObject hit) { MonoBehaviour[] list = hit.transform.GetComponents <MonoBehaviour>(); foreach (MonoBehaviour mb in list) { if (mb is IPowerup) { IPowerup powerup = (IPowerup)mb; powerup.OnActivation(); } if (mb is IDamagable <float> ) { IDamagable <float> objHit = (IDamagable <float>)mb; objHit.OnTakeDamage(damage); } } }