protected virtual void OnSend() { if (IsDisposed) { return; } LastAutoRefresh = DateTime.UtcNow; RegisterInstance(); if (Parent is SuperGump) { ((SuperGump)Parent).AddChild(this); Children.TrimExcess(); } if (InstancePoller == null) { InitPollTimer(); } else if (!InstancePoller.Running) { InstancePoller.Running = EnablePolling; } Linked.AsEnumerable().ForEach(g => g.OnLinkSend(this)); Linked.TrimExcess(); if (Modal && User != null && User.Holding != null) { Timer.DelayCall(TimeSpan.FromSeconds(1.0), User.DropHolding); } }
protected virtual void OnHidden(bool all) { if (IsDisposed) { return; } Linked.AsEnumerable().ForEach(g => g.OnLinkHidden(this)); Linked.TrimExcess(); }
protected virtual void OnClosed(bool all) { if (IsDisposed) { return; } UnregisterInstance(); if (InstancePoller != null) { InstancePoller.Dispose(); InstancePoller = null; } Linked.AsEnumerable().ForEach(g => g.OnLinkClosed(this)); Linked.TrimExcess(); }
protected virtual void OnSendFail() { if (IsDisposed) { return; } UnregisterInstance(); if (Parent is SuperGump) { ((SuperGump)Parent).RemoveChild(this); Children.TrimExcess(); } if (InstancePoller != null) { InstancePoller.Dispose(); InstancePoller = null; } Linked.AsEnumerable().ForEach(g => g.OnLinkSendFail(this)); Linked.TrimExcess(); }