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();
}
}