using Artemis.Core.Services; namespace Artemis.Core.ScriptingProviders; /// /// Represents a script running globally /// public abstract class GlobalScript : Script { /// protected GlobalScript(ScriptConfiguration configuration) : base(configuration) { } internal ScriptingService? ScriptingService { get; set; } /// /// Called whenever the Artemis Core is about to update /// /// Seconds passed since last update public virtual void OnCoreUpdating(double deltaTime) { } /// /// Called whenever the Artemis Core has been updated /// /// Seconds passed since last update public virtual void OnCoreUpdated(double deltaTime) { } #region Overrides of Script /// public override ScriptType ScriptType => ScriptType.Global; /// internal override void InternalCleanup() { ScriptingService?.RemoveScript(ScriptConfiguration); } #endregion }