示例#1
0
        // This function will need to be updated if you add or remove tabs
        private void refreshMenuTab()
        {
            // Attempt to save selected item and diary slots. Note: we don't save the selected
            // note slot because that behaves a little differently, and is saved on activation.
            saveSelectedItemSlot();
            saveSelectedAudioDiarySlot();

            // And De-activate ALL panels
            inventoryItemsListPanel.SetActive(false);
            inventoryItemInfoPanelParent.SetActive(false);
            audioDiariesPanel.SetActive(false);
            notesPanel.SetActive(false);
            noteContentsPanelParent.SetActive(false);
            systemPanel.SetActive(false);
            exitConfirmationPanel.SetActive(false);
            actionsPanelParent.SetActive(false);
            pageControlPanel.SetActive(false);

            // Then force select tab and activate the correct panel(s)
            switch (currentMenuTab)
            {
            case eMenuTab.ITEMS:
                itemsTab.ForceSelectTab();
                refreshItemSlotsAndDetailsView();
                inventoryItemsListPanel.SetActive(true);
                inventoryItemInfoPanelParent.SetActive(true);
                pageControlPanel.SetActive(true);
                restoreSelectedItemSlot();
                break;

            case eMenuTab.AUDIO_DIARIES:
                audioDiariesTab.ForceSelectTab();
                refreshAudioDiarySlotsView();
                audioDiariesPanel.SetActive(true);
                pageControlPanel.SetActive(true);
                restoreSelectedAudioDiarySlot();
                break;

            case eMenuTab.NOTES:
                notesTab.ForceSelectTab();
                refreshNoteSlotsView();
                notesPanel.SetActive(true);
                noteContentsPanelParent.SetActive(true);
                pageControlPanel.SetActive(true);
                //restoreSelectedNoteSlot();
                break;

            case eMenuTab.SYSTEM:
                systemTab.ForceSelectTab();
                systemPanel.SetActive(true);
                refreshSystemMenu();
                break;

            default:
                Debug.LogError("FPEGameMenu.refreshMenuTab() in bad state. Current Menu Tab is '" + currentMenuTab + "' which is not a valid tab. Something upstream (probably menu tab selection functions) broke.");
                break;
            }

            menuAudio.clip = menuTabSelect;
            menuAudio.Play();
        }