public void Destroy(EditorEntity ee) { Type type = ee.GetType(); List <EditorEntity> targetList = null; if (type == typeof(ShootingEnemyEE)) { targetList = shootingEnemies; } else if (type == typeof(WalkingEE)) { targetList = walkingEnemies; } else if (type == typeof(CheckpointEE)) { targetList = checkpoints; } else if (type == typeof(LevelExitEE)) { } else if (type == typeof(PlayerEE)) { } // once done, search it in the target list and destroy it if (targetList != null) { for (int iii = 0; iii < targetList.Count; iii++) { if (targetList[iii].Equals(ee)) { targetList.RemoveAt(iii); Destroy(ee.gameObject); } } } }