Ejemplo n.º 1
0
        private DateTimeService()
        {
            lastNow     = Now;
            tPeriodical = new AsyncTimerAction(TimeSpan.FromSeconds(1), () =>
            {
                now = Now;
                if (now.Minute != lastNow.Minute)
                {
                    tPeriodical.Interval = TimeSpan.FromMinutes(1);

                    MinuteChanged?.Invoke(this, now);

                    if (now.Hour != lastNow.Hour)
                    {
                        HourChanged?.Invoke(this, now);
                    }
                    if (now.Day != lastNow.Day)
                    {
                        DayChanged?.Invoke(this, now);
                    }
                    if (now.Month != lastNow.Month)
                    {
                        MonthChanged?.Invoke(this, now);
                    }
                    if (now.Year != lastNow.Year)
                    {
                        YearChanged?.Invoke(this, now);
                    }
                }

                lastNow = now;
            });
            tPeriodical.Start();
        }
Ejemplo n.º 2
0
 private void ClockWork(MinuteChanged obj)
 {
     if (_isWorking)
     {
         _currentHoursWorked += (double)1 / 60;
     }
 }
Ejemplo n.º 3
0
 private void IncreaseHunger(MinuteChanged minuteChanged)
 {
     if (_hunger + (decimal)_hungerPerHour / 60 / (_isSleeping ? 6 : 1) >= Math.Ceiling(_hunger))
     {
         _hungerChanged = true;
     }
     _hunger += (decimal)_hungerPerHour / 60 / (_isSleeping ? 6 : 1);
 }
        private void GameDateComponent_TimeChanged(GameDateComponent sender)
        {
            if (prevMinute != Minute)
            {
                prevMinute = Minute;
                if (MinuteChanged != null)
                {
                    MinuteChanged.Invoke(this);
                }
            }

            if (prevHour != Hour)
            {
                prevHour = Hour;
                if (HourChanged != null)
                {
                    HourChanged.Invoke(this);
                }
            }

            if (prevDay != Day)
            {
                prevDay = Day;
                if (DayChanged != null)
                {
                    DayChanged.Invoke(this);
                }
            }

            if (prevMonth != Month)
            {
                prevMonth = Month;
                if (MonthChanged != null)
                {
                    MonthChanged.Invoke(this);
                }
            }

            if (prevYear != Year)
            {
                prevYear = Year;
                if (YearChanged != null)
                {
                    YearChanged.Invoke(this);
                }
            }
        }
Ejemplo n.º 5
0
 private void MinuteChanged(MinuteChanged minuteChanged)
 {
     _currentMinute = minuteChanged.Minute;
     _currentHour   = minuteChanged.Hour;
     if (!_isSleeping)
     {
         DecreaseEnergy();
     }
     else if (_isExhausted)
     {
         IncreaseEnergyCollapsedSleep();
     }
     else if (_isSleeping)
     {
         IncreaseEnergyRestfulSleep();
     }
 }
Ejemplo n.º 6
0
 protected void ChangeOfMinutes(int minuta)
 {
     MinuteChanged?.Invoke(minuta);
 }
 public void NotifyMinuteChanged(DateTime dateTime)
 {
     MinuteChanged?.Invoke(this, dateTime);
 }