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); }
/// <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); }