public TileDefinition CreateTileDefinition(string tileName, Point tilePosition) { var rectangle = new RectangleInt(tilePosition.X, tilePosition.Y, this.TilesSize.Width, this.TilesSize.Height); var tileDefinition = new TileDefinition(this, tileName, rectangle); this.definitions.Add(tileName, tileDefinition); return tileDefinition; }
public void Draw(IDrawContext drawContext, TileDefinition tileDefinition, Rectangle destination) { drawContext.DrawImage(new DrawImageParams { Texture = this.Texture, Source = tileDefinition.Rectangle, Destination = destination, }); }
public TileLayer(string name, Size mapSize, Size tileSize, TileDefinition defaultTileDefinition = null) : base(name) { this.MapSize = mapSize; this.TileSize = tileSize; this.map = new TileDefinition[mapSize.Width, mapSize.Height]; if (defaultTileDefinition == null) defaultTileDefinition = NullTileDefinition.CreateInstance(); for (var i = 0; i < mapSize.Width; i++) for (var j = 0; j < mapSize.Height; j++) { this.map[i, j] = defaultTileDefinition; } }
public void AddTileDefinition(TileDefinition tileDefinition) { this.definitions.Add(tileDefinition.Name, tileDefinition); }
private static XElement GetXml(TileDefinition tileDefinition) { return new XElement("TileDefinition", new XAttribute("name", tileDefinition.Name), new XAttribute("rectangle", tileDefinition.Rectangle)); }
public TiledObject(TileDefinition tileDefinition, Vector position) { this.TileDefinition = tileDefinition; this.Position = position; }