using System; using System.Collections.Generic; namespace Artemis.Core.Services { /// /// A service that initializes the Core and manages the render loop /// public interface ICoreService : IArtemisService, IDisposable { /// /// Gets whether the or not the core has been initialized /// bool IsInitialized { get; } /// /// The time the last frame took to render /// TimeSpan FrameTime { get; } /// /// Gets or sets whether profiles are rendered each frame by calling their Render method /// bool ProfileRenderingDisabled { get; set; } /// /// Gets or sets a list of startup arguments /// List StartupArguments { get; set; } /// /// Gets a boolean indicating whether Artemis is running in an elevated environment (admin permissions) /// bool IsElevated { 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 the render pipeline is closed /// event EventHandler FrameRendered; } }