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(); }
private void ClockWork(MinuteChanged obj) { if (_isWorking) { _currentHoursWorked += (double)1 / 60; } }
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); } } }
private void MinuteChanged(MinuteChanged minuteChanged) { _currentMinute = minuteChanged.Minute; _currentHour = minuteChanged.Hour; if (!_isSleeping) { DecreaseEnergy(); } else if (_isExhausted) { IncreaseEnergyCollapsedSleep(); } else if (_isSleeping) { IncreaseEnergyRestfulSleep(); } }
protected void ChangeOfMinutes(int minuta) { MinuteChanged?.Invoke(minuta); }
public void NotifyMinuteChanged(DateTime dateTime) { MinuteChanged?.Invoke(this, dateTime); }