/// <summary> /// Adds a texture to the atlas. /// </summary> /// <param name="name"></param> /// <param name="textureIndex"></param> /// <param name="x"></param> /// <param name="y"></param> /// <param name="width"></param> /// <param name="height"></param> /// <returns>The AtlasRegion that was added.</returns> public GdxTextureAtlasRegion AddRegion(string name, int textureIndex, int x, int y, int width, int height) { var texture = _textures[textureIndex]; var region = new GdxTextureAtlasRegion(name, texture, x, y, width, height) { OriginalWidth = width, OriginalHeight = height, Index = -1 }; _regions.Add(region); return(region); }
public override GdxTextureAtlas Load(AssetManager assetManager, string assetPath) { using (var stream = assetManager.OpenStream(assetPath)) { var data = GdxTextureAtlasData.Load(assetPath, stream, string.Empty, false); var atlas = new GdxTextureAtlas(data.Name); var textures = new List <Texture>(); var pageToTexture = new Dictionary <GdxTextureAtlasData.Page, Texture>(); foreach (var page in data.Pages) { var texture = page.Texture ?? assetManager.Load <Texture>(page.TextureHandle); textures.Add(texture); pageToTexture.Add(page, texture); } foreach (var region in data.Regions) { var texture = pageToTexture[region.Page]; var width = region.Rotate ? region.Height : region.Width; var height = region.Rotate ? region.Width : region.Height; var left = region.Left; var top = region.Top; var atlasRegion = new GdxTextureAtlasRegion(region.Name, texture, left, top, width, height) { Index = region.Index, OffsetX = region.OffsetX, OffsetY = region.OffsetY, OriginalHeight = region.OriginalHeight, OriginalWidth = region.OriginalWidth, Rotate = region.Rotate, Splits = region.Splits, Pads = region.Pads }; if (region.Flip) { atlasRegion.Flip(false, true); } atlas.AddRegion(atlasRegion); } return(atlas); } }
public GdxTextureAtlasRegion AddRegion(GdxTextureAtlasRegion atlasRegion) { _regions.Add(atlasRegion); return(atlasRegion); }