예제 #1
0
    public static BoostersData GetDefault()
    {
        var data = new BoostersData();

        data.boosterHP     = 1;
        data.boosterFreeze = 1;
        data.boosterScore  = 1;

        return(data);
    }
예제 #2
0
    private void LoadGame()
    {
        //Основные данные
        curMoney = PlayerPrefs.GetInt(ConstantsPlayerPrefs.MONEY, 0);

        startSpeed = PlayerPrefs.GetFloat(ConstantsPlayerPrefs.SPEED, minSpeed);

        maxScore = PlayerPrefs.GetInt(ConstantsPlayerPrefs.SCORE, 0);
        if (currentStatus != EnumGameStatus.Game)
        {
            curScore = maxScore;
        }

        curExp = PlayerPrefs.GetFloat(ConstantsPlayerPrefs.EXP, 0.0f);

        //Настройки
        settingSound    = PlayerPrefs.GetInt(ConstantsPlayerPrefs.SETTING_SOUND, 1) >= 1;
        settingLanguage = PlayerPrefs.GetString(ConstantsPlayerPrefs.SETTING_LANG, "");
        if (string.IsNullOrEmpty(settingLanguage))
        {
            settingLanguage = GetCurrentSystemLanguage();
        }
        EventChangeLanguage?.Invoke();

        //Datas
        var jsonMarket = PlayerPrefs.GetString(ConstantsPlayerPrefs.MARKET, "");

        if (string.IsNullOrEmpty(jsonMarket))
        {
            marketData.items = DefaultMarketData.items.ToList();
        }
        else
        {
            marketData = JsonUtility.FromJson <MarketData>(jsonMarket);
            marketData.Validate();
        }

        var jsonInventory = PlayerPrefs.GetString(ConstantsPlayerPrefs.INVENTORY, "");

        if (string.IsNullOrEmpty(jsonInventory))
        {
            inventoryData.items = DefaultInventoryData.items.ToList();
        }
        else
        {
            inventoryData = JsonUtility.FromJson <InventoryrData>(jsonInventory);
            inventoryData.Validate();
        }

        var jsonMissions = PlayerPrefs.GetString(ConstantsPlayerPrefs.MISSIONS, "");

        if (string.IsNullOrEmpty(jsonMissions))
        {
            missionsData.items = DefaultMissionData.items.ToList();
        }
        else
        {
            missionsData = JsonUtility.FromJson <MissionsData>(jsonMissions);
            missionsData.Validate();
        }

        var jsonBoosters = PlayerPrefs.GetString(ConstantsPlayerPrefs.BOOSTERS, "");

        if (string.IsNullOrEmpty(jsonBoosters))
        {
            boostersData = BoostersData.GetDefault();
        }
        else
        {
            boostersData = JsonUtility.FromJson <BoostersData>(jsonBoosters);
        }

        //Статистика
        var date = PlayerPrefs.GetString(ConstantsPlayerPrefs.DAY_FIRST_SESSION, DateTime.UtcNow.ToString(System.Globalization.CultureInfo.InvariantCulture));

        dayFirstSessionUTC = DateTime.Parse(date, System.Globalization.CultureInfo.InvariantCulture);
        if (dayFirstSessionUTC.Year < 2000)
        {
            dayFirstSessionUTC = DateTime.UtcNow;
        }

        lastDayYearUpdateStatistic = PlayerPrefs.GetInt(ConstantsPlayerPrefs.LAST_UPDATE_STATISTIC, DateTime.UtcNow.DayOfYear);

        if (lastDayYearUpdateStatistic < DateTime.UtcNow.DayOfYear)
        {
            lastDayYearUpdateStatistic = DateTime.UtcNow.DayOfYear;
            moneyToday = 0;
            adsToday   = 0;
        }
        else
        {
            moneyToday = PlayerPrefs.GetInt(ConstantsPlayerPrefs.MONEY_TODAY, 0);
            adsToday   = PlayerPrefs.GetInt(ConstantsPlayerPrefs.ADS_TODAY, 0);
        }
    }