public override void Update() { if (World.SelectedCharacter == null) { return; } while (scheduledActions.Count != 0) { var scheduledAction = scheduledActions.First(); if (scheduledAction.scheduledTime <= DateTime.Now) { scheduledActions.RemoveAt(0); scheduledAction.action(); if (scheduledAction.interval > TimeSpan.Zero) { ScheduleAction(scheduledAction.action, DateTime.Now + scheduledAction.interval, scheduledAction.interval); } } else { break; } } }
public override void Update() { LastUpdate = DateTime.Now; (socket as WorldSocket)?.HandlePackets(); if (World.SelectedCharacter == null) { return; } while (scheduledActions.Count != 0) { var scheduledAction = scheduledActions.First(); if (scheduledAction.ScheduledTime <= DateTime.Now) { scheduledActions.RemoveAt(0, false); if (scheduledAction.Interval > TimeSpan.Zero) { ScheduleAction(scheduledAction.Action, DateTime.Now + scheduledAction.Interval, scheduledAction.Interval, scheduledAction.Flags, scheduledAction.Cancel); } try { scheduledAction.Action(); } catch (Exception ex) { LogException(ex); } } else { break; } } }