private void PrepareData() { var date = DateTime.Today; var key = date.Month + "/" + date.Year; var dict = LWData.current.FlowerDictionary; if (!dict.ContainsKey(key)) { dict.Add(key, new List <LWData.FlowerMonth>()); var days = DateTime.DaysInMonth(date.Year, date.Month); for (var day = 0; day < days; day++) { var flower = new LWData.FlowerMonth { Date = date.Month + "/" + (day + 1) + "/" + date.Year }; dict[key].Add(flower); } LWData.current.FlowerDictionary = dict; } if (string.IsNullOrEmpty(LWData.current.MainFlower)) { LWData.current.MainFlower = date.ToShortDateString(); } }
private IEnumerator ChangeShelf(int year, int month) { var tempDate = new DateTime(year, month, 1); _titleText.text = tempDate.ToString("MMMM") + " " + year; _isTransitioning = true; //var flowerList = if (_flowerGroupContainer.childCount > 0) { CleanShelf(); } while (_flowerGroupContainer.childCount > 0) { yield return(null); } var days = DateTime.DaysInMonth(year, month); var key = tempDate.Month + "/" + tempDate.Year; var hasKey = LWData.current.FlowerDictionary.ContainsKey(key); if (!hasKey) { var dict = LWData.current.FlowerDictionary; dict.Add(key, new List <LWData.FlowerMonth>()); LWData.current.FlowerDictionary = dict; } for (var day = 0; day < days; day++) { var index = day % 3; if (index == 0) { var flower = Instantiate(_flowerGroupPrefab, _flowerGroupContainer); _flowerGroups.Add(flower); } var groupIndex = Mathf.FloorToInt(day / _columns); var currentFlower = _flowerGroups[groupIndex]; currentFlower.GetPlant(index).DateTag.text = month + "/" + (day + 1); if (!hasKey) { var flower = new LWData.FlowerMonth(); flower.Date = tempDate.Month + "/" + (day + 1) + "/" + tempDate.Year; LWData.current.FlowerDictionary[key].Add(flower); var empty = new[] { _emptyPot, _emptyPot }; currentFlower.SetPlant(index, empty); currentFlower.SetDate(index, tempDate.Month + "/" + (day + 1) + "/" + tempDate.Year); } else { var data = LWData.current.FlowerDictionary[key][day]; if (data.PlantIndex == -1) { var empty = new[] { _emptyPot, _emptyPot }; currentFlower.SetPlant(index, empty); currentFlower.SetDate(index, tempDate.Month + "/" + (day + 1) + "/" + tempDate.Year); continue; } var sprites = LWResourceManager.Sprites[data.PlantIndex]; var spriteIndex = data.SpriteIndex * 2; var sprite = new[] { sprites[spriteIndex], sprites[spriteIndex + 1] }; _flowerGroups[groupIndex].SetPlant(index, sprite); _flowerGroups[groupIndex].SetDate(index, tempDate.Month + "/" + (day + 1) + "/" + tempDate.Year); } } _isTransitioning = false; }