using Artemis.Core.Models; using Artemis.Plugins.Interfaces; namespace Artemis.Core.Services.Interfaces { public interface IMainDataModelService : IArtemisService { /// /// Called each frame when the main data model must update /// /// Time since the last update void Update(double deltaTime); /// /// Add an expansion to the datamodel to be available for use after the next update /// /// void AddExpansion(IDataModelExpansion dataModelExpansion); /// /// Remove a previously added expansion so that it is no longer available and updated /// /// void RemoveExpansion(IDataModelExpansion dataModelExpansion); /// /// Generates a data model description for the main datamodel including all it's expansions /// /// The generated data model description DataModelDescription GetMainDataModelDescription(); } }