public void BuildEntity(Entity entity, params object[] args) { string textureFile = args[0] as string; int? x = args[1] as int?; int? y = args[2] as int?; string filePath = ".\\Graphics\\Backgrounds\\" + textureFile; StaticGraphic staticGraphic = _componentFactory.Create <StaticGraphic>(); staticGraphic.Scrolls = true; staticGraphic.Texture = _content.Load <Texture2D>(filePath); entity.AddComponent(staticGraphic); Position position = _componentFactory.Create <Position>(); position.X = x ?? 0; position.Y = y ?? 0; entity.AddComponent(position); Entity existingBackground = EntitySystem.BlackBoard.GetEntry <Entity>("Background"); existingBackground?.Delete(); EntitySystem.BlackBoard.SetEntry("Background", entity); }
public override void Process(Entity entity) { StaticGraphic staticGraphic = entity.GetComponent <StaticGraphic>(); Position position = entity.GetComponent <Position>(); Vector2 posVec = new Vector2( position.X, position.Y); _spriteBatch.Draw(staticGraphic.Texture, posVec, Color.White); }