using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Svelto.ECS;

namespace GamecraftModdingAPI.Engines
{
    /// <summary>
    /// Base engine interface used by all GamecraftModdingAPI engines
    /// </summary>
    public interface IApiEngine : IEngine, IQueryingEntitiesEngine, IDisposable
    {
        /// <summary>
        /// The name of the engine
        /// </summary>
        string Name { get; }

		/// <summary>
        /// Whether the emitter can be removed with Manager.RemoveEventEmitter(name)
        /// </summary>
        bool isRemovable { get; } 
    }
}