private SpriteSheetEntry LookupSpriteSheetEntry(SpriteSheetComponent spriteSheetComponent, string name)
 {
     foreach (var spriteSheetEntry in spriteSheetComponent.Entries)
     {
         if (spriteSheetEntry.Name == name)
         {
             return(spriteSheetEntry);
         }
     }
     throw new ArgumentOutOfRangeException("name");
 }
        public Tile(int x, int y, int tileWidth, int tileHeight, bool isWall)
        {
            var s = new SpriteSheetComponent("Tiles", tileWidth, tileHeight);

            if (!isWall)
            {
                s.CurrentFrame = 1;
            }
            this.Add(new TwoDComponent(x * tileWidth, y * tileHeight));
            this.Add(s);
        }
Exemplo n.º 3
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            _textureSource.Load("forest_pack");
            _textureSource.Load("green-fish-rest-to-right-sheet");

            // Spawn some test entities
            var id = EntityId.NewId();
            var spriteSheetComponent = new SpriteSheetComponent()
            {
                Name    = "terrain",
                Texture = _textureSource.Lookup("forest_pack"),
                Entries = new SpriteSheetEntry[]
                {
                    new SpriteSheetEntry {
                        Name     = "ground middle",
                        Position = new Point(152, 144),
                        Size     = new Point(128, 128)
                    }
                }
            };

            _world.AddEntity(id, spriteSheetComponent);


            id = EntityId.NewId();
            var spriteComponent = new SpriteComponent()
            {
                SpriteSheetName = "terrain",
                SpriteEntryName = "ground middle"
            };
            var transformComponent = new TransformComponent()
            {
                Position = new Vector2(10, 10)
            };
            var floorComponent = new FloorComponent();

            _world.AddEntity(id, spriteComponent, transformComponent, floorComponent);
        }