Exemple #1
0
    private void OnEnable()
    {
        if (!SaveGameHelper.IsSaveGameDirExist())
        {
            return;
        }

        var saveFiles = SaveGameHelper.GetAllSaveFiles();

        if (saveFiles.Length == 0)
        {
            return;
        }

        scrollViewContent.transform.DetachChildren();

        foreach (var file in saveFiles)
        {
            Debug.Log(Path.GetFileName(file));
            var newItem = Instantiate(item, scrollViewContent.transform, false);
            newItem.transform.localPosition = Vector3.zero;
            Items.Add(newItem);

            newItem.GetComponentInChildren <Text>().text = Path.GetFileNameWithoutExtension(file);

            newItem.GetComponent <Button>().onClick.AddListener(
                () => OnItemClick(newItem));
        }
    }
    public void LoadGameButtonClick()
    {
        ClickSource.PlayOneShot(clickSound);
        Debug.Log("Load Game Button pressed");

        if (!SaveGameHelper.IsSaveGameDirExist())
        {
            ToastManager.Show("Сохранений не найдено!");
            return;
        }

        var saveFiles = SaveGameHelper.GetAllSaveFileNames();

        if (saveFiles.Length == 0)
        {
            ToastManager.Show("Файлов сохранений не найдено!");
            return;
        }

        DialogManager.ShowRadioList(saveFiles, selectedIndex =>
        {
            ClickSource.PlayOneShot(clickSound);
            var saveData = SaveGameHelper.ReadFile(saveFiles[selectedIndex]);

            if (string.IsNullOrEmpty(saveData))
            {
                ToastManager.Show(
                    "Файл " + saveFiles[selectedIndex] + " поврежден!");
                return;
            }

            SaveGameData.Data    = GameData.Deserialize(saveData);
            SaveGameData.LogList = SaveGameData.Data.logs;
            StartGame();
        },
                                    "ЗАГРУЗИТЬ",
                                    "Список сохранений",
                                    MaterialIconHelper.GetIcon(MaterialIconEnum.FILE_DOWNLOAD),
                                    () =>
        {
            ClickSource.PlayOneShot(clickSound);
            Debug.Log("Clicked the Cancel button");
        }, "НАЗАД");

        //menu.SetActive(false);
        //loadGameMenu.SetActive(true);
    }