public void Deselect()
 {
     if (_selected == this)
     {
         _selected = null;
         EmitSignal(nameof(SelectLeave));
     }
     ToggleHighlight(false);
     SetProcess(false);
     _valid = false;
 }
        public void Select()
        {
            var wasSelected = _selected;

            if (IsInstanceValid(_selected) && _selected != this)
            {
                _selected.Deselect();
            }
            _selected = this;
            ToggleHighlight(true);
            SetProcess(true);

            if (wasSelected != this)
            {
                EmitSignal(nameof(SelectEnter));
            }
        }