示例#1
0
 protected virtual void UsePreset(GumpButton button, ScheduleTimes times)
 {
     Schedule.Info.Times.Clear();
     Schedule.Info.Times.Add(times);
     Schedule.InvalidateNextTick(DateTime.UtcNow);
     Refresh(true);
 }
示例#2
0
 public ScheduleInfo(
     ScheduleMonths months = ScheduleMonths.All,
     ScheduleDays days     = ScheduleDays.All,
     ScheduleTimes times   = null)
 {
     Months = months;
     Days   = days;
     Times  = times ?? new ScheduleTimes();
 }
示例#3
0
        public void Add(ScheduleTimes times)
        {
            foreach (var time in times)
            {
                InternalAdd(time);
            }

            _List.Sort();
        }
示例#4
0
文件: Schedule.cs 项目: LordEnigma/UO
 public Schedule(
     string name,
     bool enabled,
     ScheduleMonths months    = ScheduleMonths.None,
     ScheduleDays days        = ScheduleDays.None,
     ScheduleTimes times      = null,
     Action <Schedule> onTick = null)
     : this(name, enabled, new ScheduleInfo(months, days, times), onTick)
 {
 }
示例#5
0
        public void Remove(ScheduleTimes times)
        {
            foreach (var time in times)
            {
                InternalRemove(time);
            }

            _List.TrimExcess();
            _List.Sort();
        }
示例#6
0
 public static Schedule CreateSchedule(
     string name,
     bool enabled              = true,
     bool register             = true,
     ScheduleMonths months     = ScheduleMonths.None,
     ScheduleDays days         = ScheduleDays.None,
     ScheduleTimes times       = null,
     Action <Schedule> handler = null)
 {
     return(CreateSchedule <Schedule>(name, enabled, register, new ScheduleInfo(months, days, times), handler));
 }
示例#7
0
        public virtual void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                Months = reader.ReadFlag <ScheduleMonths>();
                Days   = reader.ReadFlag <ScheduleDays>();
                Times  = reader.ReadTypeCreate <ScheduleTimes>(reader) ?? new ScheduleTimes(reader);
            }
            break;
            }
        }
示例#8
0
        private static void CSConfig()
        {
            ScheduleTimes.Config();

            CommandUtility.Register(
                "Schedules",
                Access,
                e =>
            {
                if (e != null && e.Mobile != null && !e.Mobile.Deleted && e.Mobile is PlayerMobile)
                {
                    SuperGump.Send(new ScheduleListGump((PlayerMobile)e.Mobile));
                }
            });
        }
示例#9
0
        public static void Config()
        {
            _None             = new ScheduleTimes();
            _Noon             = new ScheduleTimes(TimeSpan.FromHours(12));
            _Midnight         = new ScheduleTimes(TimeSpan.Zero);
            _EveryHour        = new ScheduleTimes();
            _EveryHalfHour    = new ScheduleTimes();
            _EveryQuarterHour = new ScheduleTimes();
            _EveryTenMinutes  = new ScheduleTimes();
            _EveryFiveMinutes = new ScheduleTimes();
            _EveryMinute      = new ScheduleTimes();

            for (int hours = 0; hours < 24; hours++)
            {
                _EveryHour.Add(new TimeSpan(hours, 0, 0));

                for (int minutes = 0; minutes < 60; minutes++)
                {
                    _EveryMinute.Add(new TimeSpan(hours, minutes, 0));

                    if (minutes % 5 == 0)
                    {
                        _EveryFiveMinutes.Add(new TimeSpan(hours, minutes, 0));
                    }

                    if (minutes % 10 == 0)
                    {
                        _EveryTenMinutes.Add(new TimeSpan(hours, minutes, 0));
                    }

                    if (minutes % 15 == 0)
                    {
                        _EveryQuarterHour.Add(new TimeSpan(hours, minutes, 0));
                    }

                    if (minutes % 30 == 0)
                    {
                        _EveryHalfHour.Add(new TimeSpan(hours, minutes, 0));
                    }
                }
            }

            _FourTwenty = new ScheduleTimes(new[] { new TimeSpan(4, 20, 0), new TimeSpan(16, 20, 0) });
        }
示例#10
0
 public ScheduleTimes(ScheduleTimes times)
 {
     Add(times);
 }
示例#11
0
 public void Remove(ScheduleTimes times)
 {
     Remove(times.ToArray());
 }
示例#12
0
 public void Add(ScheduleTimes times)
 {
     Add(times.ToArray());
 }
示例#13
0
        static Schedules()
        {
            Registry = new Dictionary <string, Schedule>();

            ScheduleTimes.Config();
        }