コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }