protected Designator_SelectableThings()
        {
            var highlighter = new MapCellHighlighter(SelectHighlightedCells);
            Action <CellRect> clearHighlightedCells = r => highlighter.ClearCachedCells();

            Dragger.SelectionStart    += clearHighlightedCells;
            Dragger.SelectionChanged  += clearHighlightedCells;
            Dragger.SelectionComplete += clearHighlightedCells;
            Dragger.SelectionUpdate   += r => highlighter.DrawCellHighlights();
        }
        private void OnUpdate()
        {
            updateCallbackScheduled = false;
            var map = Find.CurrentMap;

            if (map != null && Find.DesignatorManager.SelectedDesignator == this)
            {
                ScheduleUpdateCallback();
                DrawCellRectOutline(currentSelection);
                highlighter.DrawCellHighlights();
            }
            else
            {
                OnDesignatorDeselected();
            }
        }