void Start()
    {
        selection_circle.SetActive(false);
        is_selected = false;
        is_hide     = false;

        current_state = idle_state;
    }
    //STATE MACHINE UTILS ------------------------------------------------------------------------

    /// <summary>
    /// Transition to the passed state and resets all the new state variables.
    /// </summary>
    public void ChangeStateTo(IBarionState new_state)
    {
        current_state = new_state;
        current_state.StartState();
    }