public override void Flip(bool x, bool y) { base.Flip(x, y); float oldOriginX = OriginX; float oldOriginY = OriginY; float oldOffsetX = Region.OffsetX; float oldOffsetY = Region.OffsetY; float widthRatio = WidthRatio; float heightRatio = HeightRatio; Region.OffsetX = _originalOffsetX; Region.OffsetY = _originalOffsetY; Region.Flip(x, y); _originalOffsetX = Region.OffsetX; _originalOffsetY = Region.OffsetY; Region.OffsetX *= widthRatio; Region.OffsetY *= HeightRatio; Translate(Region.OffsetX - oldOffsetX, Region.OffsetY - oldOffsetY); SetOrigin(oldOriginX, oldOriginY); }
private void LoadRegions(TextureAtlasData data, Dictionary <TextureAtlasData.Page, TextureContext> pageToTexture) { foreach (var region in data.Regions) { int width = region.Width; int height = region.Height; AtlasRegion atlasRegion = new AtlasRegion(pageToTexture[region.Page], region.Left, region.Top, region.Rotate ? height : width, region.Rotate ? width : height) { Index = region.Index, Name = region.Name, OffsetX = region.OffsetX, OffsetY = region.OffsetY, OriginalWidth = region.OriginalWidth, OriginalHeight = region.OriginalHeight, Rotate = region.Rotate, Splits = region.Splits, Pads = region.Pads, }; if (region.Flip) { atlasRegion.Flip(false, true); } Regions.Add(atlasRegion); } }
private void LoadRegions(TextureAtlasData data, Dictionary<TextureAtlasData.Page, TextureContext> pageToTexture) { foreach (var region in data.Regions) { int width = region.Width; int height = region.Height; AtlasRegion atlasRegion = new AtlasRegion(pageToTexture[region.Page], region.Left, region.Top, region.Rotate ? height : width, region.Rotate ? width : height) { Index = region.Index, Name = region.Name, OffsetX = region.OffsetX, OffsetY = region.OffsetY, OriginalWidth = region.OriginalWidth, OriginalHeight = region.OriginalHeight, Rotate = region.Rotate, Splits = region.Splits, Pads = region.Pads, }; if (region.Flip) atlasRegion.Flip(false, true); Regions.Add(atlasRegion); } }