public void FinishTournament(CalendarEventReader eventReader)
 {
     this.calendarState = CalendarState.SEASON;
     this.tournament.Finish();
     if (currentMonth >= scheduledCalendar.Length)
     {
         calendarState = CalendarState.END_OF_SEASON;
         eventReader.OnCalendarStateChanged(CalendarState.END_OF_SEASON);
     }
 }
    public void NextMonth(CalendarEventReader eventReader)
    {
        this.currentMonth++;
        if (currentMonth >= scheduledCalendar.Length)
        {
            calendarState = CalendarState.END_OF_SEASON;
            eventReader.OnCalendarStateChanged(CalendarState.END_OF_SEASON);
        }
        else
        {
            eventReader.OnCalendarDateChanged(this);

            if (scheduledCalendar[currentMonth] == CalendarEvent.TOURNAMENT)
            {
                isTournamentNow = true;
            }
            else
            {
                isTournamentNow = false;
                tournament      = null;
            }
        }
    }
 public void SetCalendarState(CalendarState calendarState, CalendarEventReader eventReader)
 {
     this.calendarState = calendarState;
     eventReader.OnCalendarStateChanged(calendarState);
 }