protected void OnTriggerEnter2D(Collider2D collision) { TriggerDamage damage = collision.GetComponent <TriggerDamage>(); if (damage != null) { if (damage.GetCamp() != GetCamp()) { if (damage.destroyLevel < destroyLevel) { damage.FinishWork(); } } } if (mode != TriggerDamageMode.DamageWhenEnter) { return; } IAttackable atk = collision.GetComponent <IAttackable>(); if (atk != null) { if ((atk as ICamp).GetCamp() != GetCamp()) { Damage(atk, damageValue); } } }