public void StartCampaignButtonPressed()
 {
     Assets.GameCode.State.LoadOrSaveState chooseSlotState =
         new LoadOrSaveState(SaveScreenMode.NewSave);
     StateHolder.StateManager.SetPassedState(chooseSlotState);
     StateHolder.StateManager.MoveToNextScene(GameScene.LoadOrSave);
 }
Exemplo n.º 2
0
        void Start()
        {
            LoadOrSaveState loadOrSaveState = (LoadOrSaveState)StateHolder.StateManager.GetAndClearPassedState();

            mSaveScreenMode = loadOrSaveState.mSaveScreenMode;
            mReturnScene    = loadOrSaveState.mReturnScene;

            mSaveNameInputField = mTextbox.GetComponent <UnityEngine.UI.InputField>();

            int saveVersion = 0;

            for (SaveSlot slot = SaveSlot.One; slot <= SaveSlot.Max; slot++)
            {
                int slotIndex = (int)slot - 1;
                if (SaveManager.ReadSaveHeader(slot, out saveVersion, ref mSaveNames[slotIndex]))
                {
                    mSaveSlotButtons[slotIndex].GetComponent <UnityEngine.UI.Button>().interactable = true;
                    mSaveSlotButtons[slotIndex].GetComponentInChildren <UnityEngine.UI.Text>().text =
                        "Slot " + ((int)slot).ToString() + ": " + mSaveNames[slotIndex];
                }
                else
                {
                    mSaveSlotButtons[slotIndex].GetComponent <UnityEngine.UI.Button>().interactable =
                        mSaveScreenMode != SaveScreenMode.Loading;

                    mSaveSlotButtons[slotIndex].GetComponentInChildren <UnityEngine.UI.Text>().text =
                        "Slot " + ((int)slot).ToString() +
                        (mSaveScreenMode == SaveScreenMode.Loading ? ": no valid save" : ": no save");
                }
            }

            if (mSaveScreenMode == SaveScreenMode.Loading)
            {
                mSaveNameInputField.interactable = false;
            }

            UpdateUI();
        }