using Microsoft.Xna.Framework.Input; using Encompass; using isometricparkfna.Messages; using isometricparkfna.Components; namespace isometricparkfna.Engines { // [Receives()] [Reads(typeof(BudgetComponent))] [Writes(typeof(BudgetComponent))] class SimulationBridgeEngine : Engine { public Simulation simulation; public SimulationBridgeEngine(Simulation simulation) { this.simulation = simulation; } public override void Update(double dt) { foreach (ref readonly var entity in ReadEntities()) { ref readonly var budgetComponent = ref GetComponent(entity); SetComponent(entity, new BudgetComponent{currentBudget = this.simulation.latestBudget, priorBudget = this.simulation.previousBudget}); } } } }