Esempio n. 1
0
        public static string GetDateText(DateTime date, int maxLength)
        {
            var month    = Months.ElementAt(date.Month - 1);
            var template = date.Day == 2 ? " яН" : " я";

            template += " " + date.Day + " {0}";
            return(GetText(template, month, maxLength));
        }
Esempio n. 2
0
        public void Update(GameTime gameTime)
        {
            _currentTimePassed += (float)gameTime.ElapsedGameTime.Milliseconds;

            while (_currentTimePassed >= TimePerMinute)
            {
                _currentTimePassed -= TimePerMinute;

                CurrentMinutes++;

                OnMinuteChange?.Invoke(this);

                while (CurrentMinutes >= MinutesPerHour)
                {
                    CurrentMinutes -= MinutesPerHour;

                    CurrentHours++;

                    OnHourChange?.Invoke(this);

                    while (CurrentHours > HoursPerDay)
                    {
                        CurrentHours -= HoursPerDay;

                        CurrentDay++;

                        CurrentDayIndex++;

                        OnDayChange?.Invoke(this);

                        if (CurrentDayIndex >= Days.Count)
                        {
                            CurrentDayIndex = 0;

                            OnWeekChange?.Invoke(this);
                        }

                        if (CurrentDay > (float)Months.ElementAt(CurrentMonthIndex).Value)
                        {
                            CurrentMonthIndex++;

                            OnMonthChange?.Invoke(this);
                        }

                        if (CurrentMonthIndex >= Months.Count)
                        {
                            CurrentMonthIndex = 0;

                            CurrentYear++;

                            OnYearChange?.Invoke(this);
                        }
                    }
                }
            }
        }
Esempio n. 3
0
        // %t - minutes
        // %h - hours
        // %d - current day
        // %D - current day name
        // %m - current month index
        // %M - current month name
        // %y - year
        public string GetTimeAsString(string format)
        {
            string ret = format;

            ret = ret.Replace("%t", CurrentMinutes.ToString());
            ret = ret.Replace("%h", CurrentHours.ToString());
            ret = ret.Replace("%d", CurrentDay.ToString());
            ret = ret.Replace("%D", Days[CurrentDayIndex]);
            ret = ret.Replace("%m", CurrentMonthIndex.ToString());
            ret = ret.Replace("%M", Months.ElementAt(CurrentMonthIndex).Key);
            ret = ret.Replace("%y", CurrentYear.ToString());

            return(ret);
        }
        public void LoadDataIfNecessary(int appearedItemIndex, bool shouldSelectDay)
        {
            if (Months.Count <= 1)
            {
                return;
            }

            if (appearedItemIndex == 0)
            {
                CachePreviousMonths();
            }

            if (appearedItemIndex == CurrentMonthIndex &&
                Months.Contains(_currentMonth))
            {
                if (shouldSelectDay)
                {
                    if (DateTime.Now.Year == _currentMonth.CurrentDate.Year &&
                        DateTime.Now.Month == _currentMonth.CurrentDate.Month)
                    {
                        SelectCurrentDay();
                        return;
                    }
                }
            }

            if (appearedItemIndex == Months.Count - 1)
            {
                CacheNextMonths();
            }

            if (shouldSelectDay)
            {
                var appearedMonth = Months.ElementAt(appearedItemIndex);
                SelectDay(appearedMonth.Days.First().CurrentDate);
            }
        }