Пример #1
0
            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);
            }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }