using Encompass; using PongFE.Components; using PongFE.Messages; namespace PongFE.Engines { [Reads( typeof(IncreaseScoreAfterDestroyComponent) )] [Receives(typeof(DestroyMessage))] [Sends(typeof(ScoreMessage))] public class DestroyEngine : Engine { public override void Update(double dt) { foreach (ref readonly var message in ReadMessages()) { if (HasComponent(message.Entity)) { SendMessage(new ScoreMessage(message.DestroyedBy)); } Destroy(message.Entity); } } } }