public void StartCampaignButtonPressed() { Assets.GameCode.State.LoadOrSaveState chooseSlotState = new LoadOrSaveState(SaveScreenMode.NewSave); StateHolder.StateManager.SetPassedState(chooseSlotState); StateHolder.StateManager.MoveToNextScene(GameScene.LoadOrSave); }
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(); }