protected override void OnClick(EventArgs e) { base.OnClick(e); var mousePos = PointToClient(MousePosition); if (_lBtnRegion.Contains(mousePos)) { _daysFromToday -= 1; } else { _daysFromToday += 1; } if (_lBtnRegion.Contains(mousePos) || _rBtnRegion.Contains(mousePos)) { OnDayChanged?.Invoke(this); Refresh(); } string date = DateTime.Now.AddDays(_daysFromToday).ToString("M"); _toolTip.SetToolTip(this, $"pour le {date}"); }
protected override void OnUpdate() { DeltaTime = Time.DeltaTime * TimeSpeed; ElapsedTime += DeltaTime; Second += DeltaTime; if (Second >= TimeInHour) { Hour += 1; Second -= TimeInHour; if (Hour < HoursInDay) { OnHourChanged?.Invoke(Hour); } } if (Hour >= HoursInDay) { Day += 1; Hour -= HoursInDay; OnHourChanged?.Invoke(Hour); if (Day < DaysInMonth) { OnDayChanged?.Invoke(Day); } } if (Day >= DaysInMonth) { Month += 1; Day -= DaysInMonth; OnDayChanged?.Invoke(Day); if (Month < MonthsInYear) { OnMonthChanged?.Invoke(Month); } } if (Month >= MonthsInYear) { Year += 1; Month -= MonthsInYear; OnMonthChanged?.Invoke(Month); OnYearChanged?.Invoke(Year); } Entities .WithName("MyTimeManager") .ForEach((Entity entity, ref MyTimeTag timeData) => { //timeData.ElapsedTime = ElapsedTime; //just have a default timetag to force update. }).ScheduleParallel(); }
private void TryDayChange() { if (_dayModel.Hours < _daySettingsDatabase.DayLength) { RefreshView(); return; } _dayModel.Days++; _dayModel.Hours = 0; OnDayChanged?.Invoke(); TryChangeSeason(); RefreshView(); }