|
12345678910111213141516171819202122232425262728293031323334353637383940 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- using Svelto.ECS;
-
- using GamecraftModdingAPI.Utility;
-
- namespace GamecraftModdingAPI.Events
- {
- /// <summary>
- /// Engine interface to create a ModEventEntityStruct in entitiesDB when Emit() is called.
- /// </summary>
- public interface IEventEmitterEngine : IApiEngine
- {
- /// <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();
- }
- }
|