using Encompass; using PongFE.Components; using PongFE.Messages; namespace PongFE.Engines { [Reads(typeof(SpawnBallAfterDestroyComponent))] [Receives(typeof(DestroyMessage))] [Sends(typeof(BallSpawnMessage))] public class DestroyEngine : Engine { public override void Update(double dt) { foreach (ref readonly var message in ReadMessages()) { if (HasComponent(message.Entity)) { ref readonly var respawnComponent = ref GetComponent(message.Entity); SendMessage( new BallSpawnMessage( new MoonTools.Structs.Position2D(640, 360), 300, 16, 16 ), respawnComponent.Seconds ); } Destroy(message.Entity); } } } }