/// <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(); } }
/// <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(); } }