Example #1
0
    /// <summary>
    /// Gets all the saved games and activates/deactivates the save buttons
    /// </summary>
    public void GetSaves(bool useLoadedSaves = true)
    {
        List <Button>    buttons    = null;
        List <SavedGame> savedGames = null;

        if (useLoadedSaves)
        {
            (buttons, savedGames) = SlotButtons.GetSaves(slotTemplateButton, canDelete: true);
        }
        else
        {
            (buttons, savedGames) = SlotButtons.GetSaves(slotTemplateButton, tempSavedGames, true);
        }

        foreach (Button slotButton in buttons)
        {
            int       index        = buttons.IndexOf(slotButton);
            Button    deleteButton = buttons[index].GetComponentsInChildren <Button>(true).FirstOrDefault(x => x.gameObject.name == "DeleteButton");
            SavedGame savedGame    = savedGames.FirstOrDefault(x => x.Slot == index + 1);

            slotButton.onClick.AddListener(() => SaveGame(index + 1));

            if (savedGame != null)
            {
                deleteButton.onClick.AddListener(() => DeleteSave(index + 1));
                if (useLoadedSaves)
                {
                    tempSavedGames[index] = savedGame;
                }
            }
        }
    }
Example #2
0
    /// <summary>
    /// Gets the saved games
    /// </summary>
    public void GetSaves()
    {
        var(buttons, savedGames) = SlotButtons.GetSaves(slotTemplateButton, canDelete: false);

        foreach (Button slotButton in buttons)
        {
            int index = buttons.IndexOf(slotButton);
            slotButton.onClick.AddListener(() => ImportSave(index + 1));
            SavedGame savedGame = savedGames.FirstOrDefault(x => x.Slot == index + 1);

            if (savedGame != null)
            {
                tempSavedGames[index] = savedGame;
            }
        }
    }
Example #3
0
    /// <summary>
    /// Checks if any of the save slots exists and activates the save slots
    /// </summary>
    /// <param name="useLoadedSaves">If the loaded saves should be used</param>
    public void ManageSaves(bool useLoadedSaves = true)
    {
        List <Button>    buttons;
        List <SavedGame> savedGames;

        if (useLoadedSaves)
        {
            (buttons, savedGames) = SlotButtons.GetSaves(slotTemplateButton, hideIfNoSave: true);
        }
        else
        {
            (buttons, savedGames) = SlotButtons.GetSaves(slotTemplateButton, TempSavedGames, hideIfNoSave: true);
        }

        foreach (Button slotButton in buttons)
        {
            int       index         = buttons.IndexOf(slotButton);
            Button    deleteButton  = slotButton.transform.GetComponentsInChildren <Button>(true).FirstOrDefault(x => x.gameObject.name == "DeleteButton");
            TMP_Text  timeStampText = slotButton.GetComponentsInChildren <TMP_Text>(true).FirstOrDefault(x => x.gameObject.name == "TimestampText");
            SavedGame savedGame     = savedGames.FirstOrDefault(x => x.Slot == index + 1);

            if (savedGame != null)
            {
                slotButton.onClick.AddListener(() => LoadGame(index + 1));
                deleteButton.onClick.AddListener(() => DeleteSave(index + 1));
                if (useLoadedSaves)
                {
                    TempSavedGames[index] = savedGame;
                }
            }
        }

        if (savedGames.Count == 0)
        {
            noSavedGamesText.gameObject.SetActive(true);
            buttonsContainer.SetActive(false);
        }
        else
        {
            noSavedGamesText.gameObject.SetActive(false);
            buttonsContainer.SetActive(true);
        }
    }