|
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Svelto.ECS;
-
- namespace GamecraftModdingAPI.Events
- {
- /// <summary>
- /// Engine interface to create a ModEventEntityStruct in entitiesDB when Emit() is called.
- /// </summary>
- public interface IEventEmitterEngine : IEngine, IQueryingEntitiesEngine, IDisposable
- {
- /// <summary>
- /// The name of the IEventEmitterEngine
- /// </summary>
- string Name { get; }
-
- /// <summary>
- /// The type of event emitted
- /// </summary>
- object type { get; }
-
- /// <summary>
- /// Whether the emitter can be removed with Manager.RemoveEventEmitter(name)
- /// </summary>
- bool isRemovable { get; }
-
- /// <summary>
- /// The EntityFactory for the entitiesDB.
- /// Use this to create a ModEventEntityStruct when Emit() is called.
- /// </summary>
- IEntityFactory Factory { set; }
-
- /// <summary>
- /// Emit the event so IEventHandlerEngines can handle it.
- /// Call Emit() to trigger the IEventEmitterEngine's event.
- /// </summary>
- void Emit();
- }
- }
|