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));
    }
Ejemplo n.º 2
0
    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");
        });
    }