Пример #1
0
 @Nullable
 public static Season fromDate(final GameDateConst date) {
   Season.m_cleanDate.set(0, 0, 0, date.getDay(), date.getMonth(), 0);
   for (final Season season : Season.m_seasons) {
     for (int k = season.m_intervals.length / 2, i = 0; i < k; ++i) {
       final GameDateConst begin = season.m_intervals[i * 2];
       final GameDateConst end = season.m_intervals[i * 2 + 1];
       if ((begin.equals(Season.m_cleanDate) || begin.before(Season.m_cleanDate))
           && (end.after(Season.m_cleanDate) || end.equals(Season.m_cleanDate))) {
         return season;
       }
     }
   }
   return null;
 }
Пример #2
0
 public int daysFromStartingDate(final GameDateConst date) {
   Season.m_cleanDate.set(
       date.getSeconds(), date.getMinutes(), date.getHours(), date.getDay(), date.getMonth(), 0);
   final int k = this.m_intervals.length / 2;
   int days = 0;
   for (int i = 0; i < k; ++i) {
     final GameDateConst begin = this.m_intervals[i * 2];
     final GameDateConst end = this.m_intervals[i * 2 + 1];
     if ((begin.equals(Season.m_cleanDate) || begin.before(Season.m_cleanDate))
         && (end.after(Season.m_cleanDate) || end.equals(Season.m_cleanDate))) {
       days += begin.timeTo(Season.m_cleanDate).getDays();
       break;
     }
     days += begin.timeTo(end).getDays();
   }
   return days;
 }