private void DeleteTarget() { if (target == null) { return; } var go = target.GameObject(); if (!(go.GetComponent(typeof(IDeletable)) is IDeletable deletable)) { return; } if (!deletable.Delete()) { return; } target = null; }