Exemplo n.º 1
0
    //Функция загружает сохраненные данные
    private bool LoadData()
    {
        bool     returnValue = true;
        GameData gameData    = SaveSystem.LoadData();

        if (gameData == null)
        {
            gameData    = new GameData();
            returnValue = false;
        }
        else
        {
            DataHolder.language = gameData.language;
            returnValue         = true;
        }

        languageSettings = Language.IntToLanguage(DataHolder.language);
        SetStrings(DataHolder.language);

        bestScore = gameData.bestScore; //Лучший результат
        blackInk  = gameData.blackInk;  //Количество чернил

        equipSelector.SetCurrentEquipId(EquipSelector.EquipType.Weapon, DataHolder.current_weapon);
        equipSelector.SetCurrentEquipId(EquipSelector.EquipType.Armor, DataHolder.current_armor);
        equipSelector.SetCurrentEquipId(EquipSelector.EquipType.Talisman1, DataHolder.current_charm_0);
        equipSelector.SetCurrentEquipId(EquipSelector.EquipType.Talisman2, DataHolder.current_charm_1);
        equipSelector.SetCurrentEquipId(EquipSelector.EquipType.Talisman3, DataHolder.current_charm_2);

        scenes[0].is_purchased  = gameData.scene1IsPurchased;                 //Первая сцена приобретена
        scenes[0].is_completed  = gameData.scene1IsCompleted;                 //Первая cцена пройдена один раз
        scenes[1].is_purchased  = gameData.scene2IsPurchased;                 //Вторая сцена приобретена
        scenes[1].is_completed  = gameData.scene2IsCompleted;                 //Вторая cцена пройдена один раз
        scenes[2].is_purchased  = gameData.scene3IsPurchased;                 //Третья сцена приобретена
        scenes[2].is_completed  = gameData.scene3IsCompleted;                 //Третья cцена пройдена один раз
        scenes[3].is_purchased  = gameData.scene4IsPurchased;                 //Четвертая сцена приобретена
        scenes[3].is_completed  = gameData.scene4IsCompleted;                 //Четвертая cцена пройдена один раз
        scenes[4].is_purchased  = gameData.scene5IsPurchased;                 //Пятая сцена приобретена
        scenes[4].is_completed  = gameData.scene5IsCompleted;                 //Пятая cцена пройдена один раз
        scenes[5].is_purchased  = gameData.scene6IsPurchased;                 //Шестая сцена приобретена
        scenes[5].is_completed  = gameData.scene6IsCompleted;                 //Шестая cцена пройдена один раз
        scenes[6].is_purchased  = gameData.scene7IsPurchased;                 //Седьмая сцена приобретена d
        scenes[6].is_completed  = gameData.scene7IsCompleted;                 //Седьмая cцена пройдена один раз
        scenes[7].is_purchased  = gameData.scene8IsPurchased;                 //Восьмая сцена приобретена
        scenes[7].is_completed  = gameData.scene8IsCompleted;                 //Восьмая cцена пройдена один раз
        scenes[8].is_purchased  = gameData.scene9IsPurchased;                 //Девятая сцена приобретена
        scenes[8].is_completed  = gameData.scene9IsCompleted;                 //Девятая cцена пройдена один раз
        scenes[9].is_purchased  = gameData.scene10IsPurchased;                //Десятая сцена приобретена
        scenes[9].is_completed  = gameData.scene10IsCompleted;                //Десятая cцена пройдена один раз
        scenes[10].is_purchased = gameData.scene11IsPurchased;                //Одиннадцатая сцена приобретена
        scenes[10].is_completed = gameData.scene11IsCompleted;                //Одиннадцатая cцена пройдена один раз

        brokenSwordIsPurchased   = gameData.brokenSwordIsPurchased;           //Сломанный меч приобретен
        falchionIsPurchased      = gameData.falchionIsPurchased;              //Фальшион приобретен
        zweihanderIsPurchased    = gameData.zweihanderIsPurchased;            //Двуручник приобретен
        peterSwordIsPurchased    = gameData.peterSwordIsPurchased;            //Меч святого Петра приобретен
        januarDaggerIsPurchased  = gameData.januarDaggerIsPurchased;          //Кинжал святого Януария приобретен
        vienneseSpearIsPurchased = gameData.vienneseSpearIsPurchased;         //Венское копье приобретено
        russianSwordIsPurchased  = gameData.russianSwordIsPurchased;          //Русский меч приобретен

        chainMailIsPurchased         = gameData.chainMailIsPurchased;         //Кольчуга приобретена
        hardenedChainMailIsPurchased = gameData.hardenedChainMailIsPurchased; //Урепленная кольчуга приобретена
        heavyArmorIsPurchased        = gameData.heavyArmorIsPurchased;        //Тяжелая броня приобретена

        welfareCharmIsPurchased = gameData.welfareCharmIsPurchased;           //Талисман благоденствия приобретен
        hereticCharmIsPurchased = gameData.hereticCharmIsPurchased;           //Талисман еритика приобретен
        orderCharmIsPurchased   = gameData.orderCharmIsPurchased;             //Талисман ордена приобретен
        crossCharmIsPurchased   = gameData.crossCharmIsPurchased;             //Талисман нагрудный крест приобретен
        pommelCharmIsPurchased  = gameData.pommelCharmIsPurchased;            //Талисман навершие из слоновой кости приобретен
        papaCharmIsPurchased    = gameData.papaCharmIsPurchased;              //Талисман печать папы приобретен
        traitorCharmIsPurchased = gameData.traitorCharmIsPurchased;           //Талисман предателя приобретен

        byte size = DataHolder.combometer_size;

        currentScene = DataHolder.current_scene;
        if (currentScene > 2)
        {
            size                              = 2;
            combometerSize                    = size;
            comboSplitIsAvailable             = true;  //Доступно ли комбо разрыва
            comboFouriousAttackIsAvailable    = true;  //Доступно ли комбо яростной атаки
            comboMasterStunIsAvailable        = true;  //Доступно ли комбо мастерское оглушение
            comboHorizontalCutIsAvailable     = true;  //Доступно ли комбо горизонтального разреза
            comboShuffleIsAvailable           = true;  //Доступно ли комбо перетасовки
            comboFlorescenceIsAvailable       = true;  //Доступно ли комбо расцвета
            comboSublimeDissectionIsAvailable = true;  //Доступно ли комбо грандиозного рассчения
        }
        else
        {
            comboSplitIsAvailable             = true;  //Доступно ли комбо разрыва
            comboFouriousAttackIsAvailable    = true;  //Доступно ли комбо яростной атаки
            comboMasterStunIsAvailable        = true;  //Доступно ли комбо мастерское оглушение
            comboHorizontalCutIsAvailable     = false; //Доступно ли комбо горизонтального разреза
            comboShuffleIsAvailable           = false; //Доступно ли комбо перетасовки
            comboFlorescenceIsAvailable       = false; //Доступно ли комбо расцвета
            comboSublimeDissectionIsAvailable = false; //Доступно ли комбо грандиозного рассчения
        }
        if (currentScene > 7)
        {
            size                              = 3;
            combometerSize                    = size;
            comboSplitIsAvailable             = true;  //Доступно ли комбо разрыва
            comboFouriousAttackIsAvailable    = true;  //Доступно ли комбо яростной атаки
            comboMasterStunIsAvailable        = true;  //Доступно ли комбо мастерское оглушение
            comboHorizontalCutIsAvailable     = true;  //Доступно ли комбо горизонтального разреза
            comboShuffleIsAvailable           = true;  //Доступно ли комбо перетасовки
            comboFlorescenceIsAvailable       = true;  //Доступно ли комбо расцвета
            comboSublimeDissectionIsAvailable = true;  //Доступно ли комбо грандиозного рассчения
        }

        popUpManager.gameObject.SetActive(false);
        if (DataHolder.from_level)
        {
            blackInk              = DataHolder.black_ink;
            bestScore             = DataHolder.best_score;
            DataHolder.from_level = false;
            if (currentScene == 0)
            {
                isPrologCompleted = true;
            }
            else
            {
                if (!scenes[currentScene - 1].is_completed)
                {
                    popUpManager.gameObject.SetActive(true);
                    switch (currentScene)
                    {
                    case 1:
                        popUpManager.OpenPopUp(chapter1Text.text);
                        break;

                    case 2:
                        popUpManager.OpenPopUp(chapter2Text.text);
                        break;

                    case 3:
                        popUpManager.OpenPopUp(chapter3Text.text, size);
                        SaveData();
                        break;

                    case 4:
                        popUpManager.OpenPopUp(chapter4Text.text);
                        break;

                    case 5:
                        popUpManager.OpenPopUp(chapter5Text.text);
                        break;

                    case 6:
                        popUpManager.OpenPopUp(chapter6Text.text);
                        break;

                    case 7:
                        popUpManager.OpenPopUp(chapter7Text.text);
                        break;

                    case 8:
                        popUpManager.OpenPopUp(chapter8Text.text, size);
                        SaveData();
                        break;

                    case 9:
                        popUpManager.OpenPopUp(chapter9Text.text);
                        break;

                    case 10:
                        popUpManager.OpenPopUp(chapter10Text.text);
                        break;

                    case 11:
                        popUpManager.OpenPopUp(chapter11Text.text);
                        break;

                    default:
                        Debug.LogError("MainMenuManager.LoadData: current scene " + currentScene + " will not show pop up text ");
                        break;
                    }
                }
                scenes[currentScene - 1].is_completed = true;
            }
            UpdateContentButtons();
        }

        SaveShortData();
        return(returnValue);
    }