public StatusBusy(string statusText, IStatusable form) { _form = form; _oldStatus = form.StatusText; _form.StatusText = statusText; _oldCursor = form.Cursor; _form.Cursor = Cursors.WaitCursor; Application.DoEvents(); }
public void TurnEnded(object sender, TurnEndedEventArgs e) { IStatusable senderAsStasusable = sender as IStatusable; if (senderAsStasusable == null) { throw new ArgumentException("StatusManager.TurnEnded() should only subscribe to classes that implement IStatusable!"); } List <Status> turnEndStatuses = Statuses.Where(s => s.IsTurnEndStatus).ToList(); turnEndStatuses.ForEach(s => ExecuteTurnEndStatus(s, sender)); DecrementTurnCounters(); }
public void RoundEnded(object sender, RoundEndedEventArgs e) { IStatusable senderAsStasusable = sender as IStatusable; if (senderAsStasusable == null) { throw new ArgumentException("StatusManager.RoundEnded() should only subscribe to classes that implement IStatusable!"); } List <Status> statusesToRemove = Statuses.Where(s => s.TurnCounter == 0).ToList(); Statuses.RemoveAll(s => statusesToRemove.Contains(s)); statusesToRemove.ForEach(s => { StatusRemovedEventArgs statusRemovedEventArgs = new StatusRemovedEventArgs(s); senderAsStasusable.OnStatusRemoved(statusRemovedEventArgs); }); }
public void Add(IStatusable status) { StatusEffects.Add(status); }