private bool SelectThing(Vector2 pos)
    {
        if (!IsInCanvas(pos))
        {
            return(false);
        }

        smc.DeselectState(selectedState);
        smc.DeselectTransition(selectedTransition);
        selectedState = null;

        Vector2 wp = Camera.main.ScreenToWorldPoint(pos);

        selectedState = smc.SelectState(wp);

        if (selectedState == null)
        {
            selectedTransition = smc.SelectTransition(wp);
        }
        return(true);
    }