|
- using System;
- using GamecraftModdingAPI.Engines;
- using GamecraftModdingAPI.Utility;
- using RobocraftX.Common;
- using Svelto.ECS;
-
- namespace GamecraftModdingAPI.Blocks
- {
- public class BlockEventsEngine : IReactionaryEngine<DBEntityStruct>
- {
- public event EventHandler<BlockPlacedRemovedEventArgs> Placed;
- public event EventHandler<BlockPlacedRemovedEventArgs> Removed;
-
- public void Ready()
- {
- }
-
- public EntitiesDB entitiesDB { get; set; }
- public void Dispose()
- {
- }
-
- public string Name { get; } = "GamecraftModdingAPIBlockEventsEngine";
- public bool isRemovable { get; } = false;
-
- public void Add(ref DBEntityStruct entityComponent, EGID egid)
- {
- ExceptionUtil.InvokeEvent(Placed, this, new BlockPlacedRemovedEventArgs {ID = egid, Type = (BlockIDs) entityComponent.DBID});
- }
-
- public void Remove(ref DBEntityStruct entityComponent, EGID egid)
- {
- ExceptionUtil.InvokeEvent(Removed, this, new BlockPlacedRemovedEventArgs {ID = egid, Type = (BlockIDs) entityComponent.DBID});
- }
- }
-
- public struct BlockPlacedRemovedEventArgs
- {
- public EGID ID;
- public BlockIDs Type;
- }
- }
|