using System; namespace RGB.NET.Core { /// /// Represents a generic update trigger. /// public class AbstractUpdateTrigger : AbstractBindable, IUpdateTrigger { #region Events /// public event EventHandler Starting; /// public event EventHandler Update; #endregion #region Methods /// /// Invokes the -event. /// /// Optional custom-data passed to the subscribers of the .event. protected virtual void OnStartup(CustomUpdateData updateData = null) => Starting?.Invoke(this, updateData); /// /// Invokes the -event. /// /// Optional custom-data passed to the subscribers of the .event. protected virtual void OnUpdate(CustomUpdateData updateData = null) => Update?.Invoke(this, updateData); /// public virtual void Dispose() { } #endregion } }