public override void OnInspectorGUI()
    {
        SpriteImporter myScript = (SpriteImporter)target;

        if (GUILayout.Button("Generate Cube Sprite"))
        {
            myScript.GenerateCubeSprite();
        }


        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("Dimensions:", new GUILayoutOption[] { GUILayout.Width(80) });
        myScript.circleRadius = EditorGUILayout.IntField(myScript.circleRadius, new GUILayoutOption[] { });
        if (GUILayout.Button("Create Circle"))
        {
            myScript.GenerateCircle(myScript.circleRadius);
        }
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.BeginHorizontal();
        GUILayout.Label("Dimensions:", new GUILayoutOption[] { GUILayout.Width(80) });
        myScript.squareDims = EditorGUILayout.Vector2IntField("", myScript.squareDims, new GUILayoutOption[] { });
        if (GUILayout.Button("Create Square"))
        {
            myScript.GenerateSquare(myScript.squareDims.x, myScript.squareDims.y);
        }
        EditorGUILayout.EndHorizontal();

        base.OnInspectorGUI();
    }
 public ImporterVariant(string name, SpriteImporter spriteImporter, SpriteImporter tileSetImporter, SpriteImporterEditor editor)
 {
     Name            = name;
     SpriteImporter  = spriteImporter;
     TileSetImporter = tileSetImporter;
     Editor          = editor;
 }
Exemple #3
0
    public void Import()
    {
        SpriteImporter importer = target as SpriteImporter;

        Sprite[] sprites = importer.sheet;
        EditorUtility.SetDirty(importer.data);
        importer.data.m_Normal                     = sprites[5];
        importer.data.m_LeftTopMissing             = sprites[4];
        importer.data.m_RightTopMissing            = sprites[6];
        importer.data.m_LeftBottomMissing          = sprites[9];
        importer.data.m_RightBottomMissing         = sprites[11];
        importer.data.m_OnlyBottom                 = sprites[1];
        importer.data.m_OnlyTop                    = sprites[14];
        importer.data.m_OnlyRight                  = sprites[3];
        importer.data.m_OnlyLeft                   = sprites[7];
        importer.data.m_DiagonalLeftBottomRightTop = sprites[13];
        importer.data.m_DiagonalRightBottomLeftTop = sprites[15];
        importer.data.m_OnlyLeftTop                = sprites[12];
        importer.data.m_OnlyRightTop               = sprites[8];
        importer.data.m_OnlyLeftBottom             = sprites[2];
        importer.data.m_OnlyRightBottom            = sprites[0];
    }
Exemple #4
0
        public static Npck FromSpriteImage(EmguImage[] images, int[] frames, Npck original)
        {
            SpriteImporter importer      = new SpriteImporter();
            MemoryStream   nclrStr       = new MemoryStream();
            MemoryStream   ncgrLinealStr = new MemoryStream();
            MemoryStream   ncgrTiledStr  = new MemoryStream();
            MemoryStream   ncerStr       = new MemoryStream();

            // Create sprites images to import
            // those sprite that have not been exported (they didn't have text)
            if (original[0] != null)
            {
                Nclr nclr = new Nclr(original[0]);
                Ncgr ncgr = new Ncgr(original[1] == null ? original[2] : original[1]);
                Ncer ncer = new Ncer(original[3]);

                // Set old settings
                importer.DispCnt          = ncgr.RegDispcnt;
                importer.Quantization     = new ManyFixedPaletteQuantization(nclr.GetPalettes());
                importer.OriginalPalettes = nclr.GetPalettes();
                importer.Format           = nclr.Format;
                if (nclr.Format == ColorFormat.Indexed_8bpp)
                {
                    importer.PaletteMode = PaletteMode.Palette256_1;
                }
                else
                {
                    importer.PaletteMode = PaletteMode.Palette16_16;
                }

                int idx = 0;
                for (int i = 0; i < ncer.NumFrames; i++)
                {
                    if (frames.Contains(i))
                    {
                        importer.AddFrame(images[idx++]);
                    }
                    else if (ncer != null)
                    {
                        importer.AddFrame(ncer.CreateBitmap(i, ncgr, nclr), ncer.GetFrame(i));
                    }
                }
            }
            else
            {
                foreach (EmguImage img in images)
                {
                    importer.AddFrame(img);
                }
            }

            // TEMP: Check if the files were present
            if (original[0] == null)
            {
                Console.Write("(Warning: No palette) ");
            }
            if (original[1] == null)
            {
                //Console.Write("(Warning: No HImage) ");
                ncgrTiledStr = null;
            }
            if (original[2] == null)
            {
                //Console.Write("(Warning: No LImage) ");
                ncgrLinealStr = null;
            }
            if (original[3] == null)
            {
                Console.Write("(Warning: No sprite) ");
            }
            if (original[5] == null)
            {
                Console.Write("(Warning: No animation) ");
            }

            importer.Generate(nclrStr, ncgrLinealStr, ncgrTiledStr, ncerStr);

            nclrStr.Position = 0;
            ncerStr.Position = 0;
            if (ncgrTiledStr != null)
            {
                ncgrTiledStr.Position = 0;
            }
            if (ncgrLinealStr != null)
            {
                ncgrLinealStr.Position = 0;
            }

            return(Npck.FromSpriteStreams(ncerStr, ncgrLinealStr, ncgrTiledStr, nclrStr, original[5]));
        }
Exemple #5
0
        public static Npck FromSpriteImage(EmguImage[] images, int[] frames, Npck original)
        {
            SpriteImporter importer = new SpriteImporter();
            MemoryStream nclrStr = new MemoryStream();
            MemoryStream ncgrLinealStr = new MemoryStream();
            MemoryStream ncgrTiledStr = new MemoryStream();
            MemoryStream ncerStr = new MemoryStream();

            // Create sprites images to import
            // those sprite that have not been exported (they didn't have text)
            if (original[0] != null) {
                Nclr nclr = new Nclr(original[0]);
                Ncgr ncgr = new Ncgr(original[1] == null ? original[2] : original[1]);
                Ncer ncer = new Ncer(original[3]);

                // Set old settings
                importer.DispCnt = ncgr.RegDispcnt;
                importer.Quantization = new ManyFixedPaletteQuantization(nclr.GetPalettes());
                importer.OriginalPalettes = nclr.GetPalettes();
                importer.Format = nclr.Format;
                if (nclr.Format == ColorFormat.Indexed_8bpp)
                    importer.PaletteMode = PaletteMode.Palette256_1;
                else
                    importer.PaletteMode = PaletteMode.Palette16_16;

                int idx = 0;
                for (int i = 0; i < ncer.NumFrames; i++) {
                    if (frames.Contains(i))
                        importer.AddFrame(images[idx++]);
                    else if (ncer != null)
                        importer.AddFrame(ncer.CreateBitmap(i, ncgr, nclr), ncer.GetFrame(i));
                }
            } else {
                foreach (EmguImage img in images)
                    importer.AddFrame(img);
            }

            // TEMP: Check if the files were present
            if (original[0] == null)
                Console.Write("(Warning: No palette) ");
            if (original[1] == null) {
                //Console.Write("(Warning: No HImage) ");
                ncgrTiledStr = null;
            }
            if (original[2] == null) {
                //Console.Write("(Warning: No LImage) ");
                ncgrLinealStr = null;
            }
            if (original[3] == null)
                Console.Write("(Warning: No sprite) ");
            if (original[5] == null)
                Console.Write("(Warning: No animation) ");

            importer.Generate(nclrStr, ncgrLinealStr, ncgrTiledStr, ncerStr);

            nclrStr.Position = 0;
            ncerStr.Position = 0;
            if (ncgrTiledStr != null)
                ncgrTiledStr.Position = 0;
            if (ncgrLinealStr != null)
                ncgrLinealStr.Position = 0;

            return Npck.FromSpriteStreams(ncerStr, ncgrLinealStr, ncgrTiledStr, nclrStr, original[5]);
        }