protected override void Update()
    {
        base.Update();

        // Escape handling
        if (UnityInput.GetKeyDown(KeyCode.Escape))
        {
            switch (gameUIManager.state)
            {
            case State.Normal:
                if (gameUIManager.isTargetSelected)
                {
                    gameUIManager.DeselectTarget();
                }
                else
                {
                    gameUIManager.Pause();
                }
                break;

            case State.Building:
                gameUIManager.DeselectTarget();
                break;
            }
        }
    }