Exemplo n.º 1
0
        public SpriteSettings(BinaryReader reader)
        {
            settingsRaw = reader.ReadUInt32();

            packed          = settingsRaw & 1;                                   //1
            packingMode     = (SpritePackingMode)((settingsRaw >> 1) & 1);       //1
            packingRotation = (SpritePackingRotation)((settingsRaw >> 2) & 0xf); //4
            meshType        = (SpriteMeshType)((settingsRaw >> 6) & 1);          //1
            //reserved
        }
    private static int get_packingRotation(IntPtr L)
    {
        object obj = null;
        int    result;

        try
        {
            obj = ToLua.ToObject(L, 1);
            Sprite sprite = (Sprite)obj;
            SpritePackingRotation packingRotation = sprite.packingRotation;
            ToLua.Push(L, packingRotation);
            result = 1;
        }
        catch (Exception ex)
        {
            result = LuaDLL.toluaL_exception(L, ex, (obj != null) ? ex.Message : "attempt to index packingRotation on a nil value");
        }
        return(result);
    }
Exemplo n.º 3
0
 public extern void AssignToAtlas(string atlasName, Sprite sprite, SpritePackingMode packingMode, SpritePackingRotation packingRotation);
Exemplo n.º 4
0
        private Vector2f[][] FixRotation(SpriteAtlas atlas, Vector2f[][] outlines)
        {
            bool isPacked = RD.IsPacked;
            SpritePackingRotation rotation = RD.PackingRotation;

            if (atlas != null)
            {
                SpriteAtlasData atlasData = atlas.RenderDataMap[RenderDataKey];
                isPacked = atlasData.IsPacked;
                rotation = atlasData.PackingRotation;
            }

            if (isPacked)
            {
                switch (rotation)
                {
                case SpritePackingRotation.FlipHorizontal:
                {
                    foreach (Vector2f[] outline in outlines)
                    {
                        for (int i = 0; i < outline.Length; i++)
                        {
                            Vector2f vertex = outline[i];
                            outline[i] = new Vector2f(-vertex.X, vertex.Y);
                        }
                    }
                }
                break;

                case SpritePackingRotation.FlipVertical:
                {
                    foreach (Vector2f[] outline in outlines)
                    {
                        for (int i = 0; i < outline.Length; i++)
                        {
                            Vector2f vertex = outline[i];
                            outline[i] = new Vector2f(vertex.X, -vertex.Y);
                        }
                    }
                }
                break;

                case SpritePackingRotation.Rotate90:
                {
                    foreach (Vector2f[] outline in outlines)
                    {
                        for (int i = 0; i < outline.Length; i++)
                        {
                            Vector2f vertex = outline[i];
                            outline[i] = new Vector2f(vertex.Y, vertex.X);
                        }
                    }
                }
                break;

                case SpritePackingRotation.Rotate180:
                {
                    foreach (Vector2f[] outline in outlines)
                    {
                        for (int i = 0; i < outline.Length; i++)
                        {
                            Vector2f vertex = outline[i];
                            outline[i] = new Vector2f(-vertex.X, -vertex.Y);
                        }
                    }
                }
                break;
                }
            }
            return(outlines);
        }
 public void AssignToAtlas(string atlasName, Sprite sprite, SpritePackingMode packingMode, SpritePackingRotation packingRotation)
 {
     Internal_AssignToAtlas(atlasName, sprite, packingMode, packingRotation);
 }
 private static extern void Internal_AssignToAtlas(string atlasName, Sprite sprite, SpritePackingMode packingMode, SpritePackingRotation packingRotation);
Exemplo n.º 7
0
 public extern void AssignToAtlas(string atlasName, Sprite sprite, SpritePackingMode packingMode, SpritePackingRotation packingRotation);