Esempio n. 1
0
    /// <summary>
    /// Organizes plants on patch.
    /// </summary>
    private void Start()
    {
        _inventory ??= GameObject.Find("DataKeeper").GetComponent <Inventory>();

        if (PlayerPrefs.GetInt(Patch.name + "occupied") == 1)
        {
            isOccupied  = true;
            timerNeeded = true;
        }
        else
        {
            isOccupied           = false;
            timerBGImage.enabled = false;
            return;
        }

        growingSeed = ScriptableObject.CreateInstance <Seed>();
        growingSeed.SetValues(PlayerPrefs.GetString(Patch.name + "grows"));
        SetSeedSpeed(growingSeed);

        var oldDate    = DateTime.Parse(PlayerPrefs.GetString(Patch.name + "timeStart"));
        var timePassed = (DateTime.Now.Ticks - oldDate.Ticks) / 10000000;

        time = PlayerPrefs.GetInt(Patch.name + "time") - timePassed * _timeSpeedBooster;

        var seedsCount = PlayerPrefs.GetInt(Patch.name + "seedsCount");

        for (var i = 0; i < seedsCount; i++)
        {
            var seed = ScriptableObject.CreateInstance <Seed>();
            seed.SetValues(PlayerPrefs.GetString(Patch.name + "grown" + i));
            grownSeeds.Add(seed);
        }

        lastPatchGrowth = null;
        infoBlocker     = null;
        optionsMenu     = null;

        if (time <= 0)
        {
            EndGrowthCycle();
        }
    }
Esempio n. 2
0
    /// <summary>
    /// Тоггл для окна информации.
    /// </summary>
    /// <param name="isOn">Флаг, отвечающий за активацию окна.</param>
    private void ToggleInfo(bool isOn = false)
    {
        if (isOn)
        {
            if (lastPatchGrowth != this)
            {
                if (lastPatchGrowth != null)
                {
                    lastPatchGrowth.infoContainer.SetActive(false);
                }

                ShowInfoContainer();
            }
            else
            {
                if (++infoContainerOpenedTimes % 2 == 0)
                {
                    HideInfoContainer();
                }
                else
                {
                    ShowInfoContainer();
                }
            }

            lastPatchGrowth = this;
            if (infoBlocker != null)
            {
                SetBlockerListener();
            }
        }
        else
        {
            HideInfoContainer();
        }
    }