public void SaveStateTest() { //Arrange SaveManager saveManager = new SaveManager(); //Act Debug.Log("Loading first save"); saveManager.ChangeCurrentSaveSlot(2); bool oldTestState = saveManager.saveState.HasAchievment(SaveState.ACHIEVEMENT_SAVED_STATE); if (oldTestState) { saveManager.saveState.RemoveAchievment(SaveState.ACHIEVEMENT_SAVED_STATE); } else { saveManager.saveState.AddAchievment(SaveState.ACHIEVEMENT_SAVED_STATE); } Debug.Log("Writing changes save"); saveManager.Save(); //Try - create new save manager to load saved state - note should only be one save manager Debug.Log("Loading second save"); SaveManager testManager = new SaveManager(); testManager.ChangeCurrentSaveSlot(2); //Assert Assert.IsFalse(oldTestState == testManager.saveState.HasAchievment(SaveState.ACHIEVEMENT_SAVED_STATE)); }
void FillSaveSlotData(int slotID) { // get the save slot for the current slot to be filled Transform slot = transform.Find("SaveSlot" + slotID); saveManager.ChangeCurrentSaveSlot(slotID); SaveState state = saveManager.saveState; // activate the input field so that changing text updates the save information InputField saveName = slot.GetComponentInChildren <InputField>(); saveName.text = state.save_name; saveName.onValueChanged.AddListener(delegate { saveManager.ChangeCurrentSaveSlot(slotID); saveManager.saveState.save_name = saveName.text; saveManager.Save(); }); // fill the monster killed statistic line Transform child = slot.Find("monsters_killed"); Text txt = child.GetComponent <Text> (); txt.text = "Monsters Killed: " + state.monsters_killed; // fill the coins_collected statistic line child = slot.Find("coins_collected"); txt = child.GetComponent <Text> (); txt.text = "coins collected: " + state.coins_collected; // fill the power_ups_collected statistic line child = slot.Find("power_ups_collected"); txt = child.GetComponent <Text> (); txt.text = "Power Ups: " + state.power_ups_collected; // fill the hits_taken statistic line child = slot.Find("hits_taken"); txt = child.GetComponent <Text> (); txt.text = "Hits taken: " + state.hits_taken; // Activate the button so that gams starts when clicked. Button startGameButton = slot.GetComponentInChildren <Button>(); startGameButton.onClick.AddListener(delegate { saveManager.ChangeCurrentSaveSlot(slotID); SceneManager.LoadScene("Hub"); }); }