private WorldDate NextMonth(WorldDate date) { date.Month++; if (date.Month > m_monthDays.Count) { date.Month = 1; date.Year++; } date.Day = 1; return(date); }
public static void Tick(WorldDate curDate) { if (m_dateCommands.ContainsKey(curDate)) { List <Action> commands = m_dateCommands[curDate]; foreach (Action command in commands) { command(); } } }
public static void AddCommand(MapPawn pawn, WorldDate date, Action command) { m_commands[pawn] = command; if (m_dateCommands.ContainsKey(date)) { m_dateCommands[date].Add(command); } else { List <Action> commands = new List <Action>(); commands.Add(command); m_dateCommands[date] = commands; } }
public WorldDate DaysInFuture(WorldDate date, int daysInFuture) { int daysToGo = daysInFuture; int curMonthDays = m_monthDays[date.Month]; int curMonthLeft = Math.Abs(date.Day - curMonthDays); if (daysToGo < curMonthLeft) { date.Day += daysToGo; return(date); } else if (daysToGo == curMonthLeft) { return(NextMonth(date)); } date = NextMonth(date); daysToGo -= curMonthLeft + 1; while (daysToGo > 0) { curMonthDays = m_monthDays[date.Month]; if (daysToGo < curMonthDays) { date.Day += daysToGo; return(date); } else if (daysToGo == curMonthDays) { return(NextMonth(date)); } date = NextMonth(date); daysToGo -= curMonthDays + 1; } return(date); }
public WorldDate NextDay(WorldDate date) { return(DaysInFuture(date, 1)); }
private void ToCalendarStart() { m_today = m_calendar.GetStart(); dateText.SetText(m_today.Day + "/" + m_today.Month + "/" + m_today.Year); }