using System; using Artemis.Core.Events; namespace Artemis.Core.Services.Interfaces { public interface ICoreService : IArtemisService, IDisposable { /// /// Gets whether the or not the core has been initialized /// bool IsInitialized { get; } /// /// Gets or sets whether modules are updated each frame by calling their Update method /// bool ModuleUpdatingDisabled { get; set; } /// /// Gets or sets whether modules are rendered each frame by calling their Render method /// bool ModuleRenderingDisabled { get; set; } /// /// Initializes the core, only call once /// void Initialize(); /// /// Occurs the core has finished initializing /// event EventHandler Initialized; /// /// Occurs whenever a frame is rendering, after modules have rendered /// event EventHandler FrameRendering; /// /// Occurs whenever a frame is finished rendering and processed by RGB.NET /// event EventHandler FrameRendered; } }