/// <summary>
    /// Called from Saved Game ClickHandler
    /// In each OnClick handler, pass in
    /// </summary>
    /// <param name="choices"></param>
    public void EnterFileChoices(Script_SavedGameTitle savedGame)
    {
        int slotId = savedGame.GetComponent <Script_Slot>().Id;

        if (savedGame.isRendered)
        {
            choices = continueChoices;
            continueSubmenu.gameObject.SetActive(true);
            // EnterSubmenuSFX();
        }
        else
        {
            choices = newGameChoices;
            newGameSubmenu.gameObject.SetActive(true);
        }
        EnterSubmenuSFX();

        /// Set slot Id in submenu
        foreach (Script_SavedGameSubmenuInputChoice choice in choices)
        {
            choice.Id = slotId;
        }

        EventSystem.current.SetSelectedGameObject(choices[0].gameObject);
        savedGameController.gameObject.SetActive(false);
        submenuController.gameObject.SetActive(true);
    }
    public void EnterDeleteFileChoices(Script_SavedGameTitle savedGame)
    {
        int slotId = savedGame.GetComponent <Script_Slot>().Id;

        if (savedGame.isRendered)
        {
            deleteBanner.gameObject.SetActive(false);

            choices = deleteGameChoices;
            deleteGameSubmenu.gameObject.SetActive(true);

            /// Set slot Id in submenu
            foreach (Script_SavedGameSubmenuInputChoice choice in choices)
            {
                choice.Id = slotId;
            }

            EventSystem.current.SetSelectedGameObject(choices[0].gameObject);
            savedGameController.gameObject.SetActive(false);
            submenuController.gameObject.SetActive(true);

            EnterSubmenuSFX();
            Debug.Log("Enter delete submenu");
        }
        else
        {
            ErrorSFX();
        }
    }
    /// <summary>
    /// Called from SavedGameTitle's OnClick in COPY STATE
    /// </summary>
    public void HandleEnterPasteView(Script_SavedGameTitle savedGame)
    {
        int slotId = savedGame.GetComponent <Script_Slot>().Id;

        if (savedGame.isRendered)
        {
            copiedSlotId = slotId;
            State        = SavedGameState.Paste;

            // initialize with next open slot
            int         nextOpenSlotId = slotId + 1;
            Transform[] slots          = savedGameController.GetSlots();
            for (int j = 0; j < slots.Length - 1; nextOpenSlotId++, j++)
            {
                if (nextOpenSlotId >= slots.Length)
                {
                    nextOpenSlotId = 0;
                }
                if (!slots[nextOpenSlotId].GetComponent <Script_SavedGameTitle>().isRendered)
                {
                    break;
                }
            }

            savedGameController.InitializeState(nextOpenSlotId);
            EnterSavedGamesSelectView();
            ActivateViewState();
        }
        else
        {
            ErrorSFX();
        }
    }
    public void EnterPasteFileChoices(Script_SavedGameTitle savedGame)
    {
        int targetSlotId = savedGame.GetComponent <Script_Slot>().Id;

        // Check if it's the same slot we're copying from
        if (targetSlotId != copiedSlotId)
        {
            pasteBanner.gameObject.SetActive(false);

            /// Only show submenu if overwriting a file
            if (savedGame.isRendered)
            {
                choices = pasteGameChoices;
                pasteGameSubmenu.gameObject.SetActive(true);

                /// Set slot Id in submenu
                foreach (Script_SavedGameSubmenuInputChoice choice in choices)
                {
                    choice.Id = targetSlotId;
                }

                EventSystem.current.SetSelectedGameObject(choices[0].gameObject);
                savedGameController.gameObject.SetActive(false);
                submenuController.gameObject.SetActive(true);
                EnterSubmenuSFX();
            }
            else
            {
                CopyGame(targetSlotId);
            }
        }
        else
        {
            ErrorSFX();
        }
    }