public void Select(Selectable target) { if (selected != null) { Unselect(); } target.BeforeSelect(this); selected = target; selected_type = target.type; selected.isSelected = true; target.AfterSelect(this); }