public TexturePackerCaller(PACKING_MODE packingMode = PACKING_MODE.EDITOR, float scale = 1, bool trimSpriteNames = false, bool singleLevelOutput = false)
        {
            PackingMode       = packingMode;
            Scale             = scale;
            TrimSpriteNames   = trimSpriteNames;
            SingleLevelOutput = singleLevelOutput;

            switch (PackingMode)
            {
            case PACKING_MODE.DESKTOP:
                TextureFormat_Alpha_HQ   = TEXTURE_FORMAT.WEBP_8888;
                TextureFormat_Alpha_SQ   = TEXTURE_FORMAT.WEBP_8888;
                TextureFormat_Alpha_LQ   = TEXTURE_FORMAT.WEBP_8888;
                TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.WEBP_888;
                TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.WEBP_888;
                TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.WEBP_888;
                break;

            case PACKING_MODE.IOS:
                TextureFormat_Alpha_HQ   = TEXTURE_FORMAT.WEBP_8888;
                TextureFormat_Alpha_SQ   = TEXTURE_FORMAT.PVR_TC4_ALPHA;
                TextureFormat_Alpha_LQ   = TEXTURE_FORMAT.PVR_TC2_ALPHA;
                TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.WEBP_565;
                TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.PVR_TC4_NOALPHA;
                TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.PVR_TC2_NOALPHA;
                break;

            case PACKING_MODE.ANDROID:
                TextureFormat_Alpha_HQ   = TEXTURE_FORMAT.PNG_INDEXED;
                TextureFormat_Alpha_SQ   = TEXTURE_FORMAT.WEBP_4444;
                TextureFormat_Alpha_LQ   = TEXTURE_FORMAT.WEBP_4444;
                TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.PKM;
                TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.PKM;
                TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.PKM;
                break;

            default:
                TextureFormat_Alpha_HQ   = TEXTURE_FORMAT.PNG_INDEXED;
                TextureFormat_Alpha_SQ   = TEXTURE_FORMAT.PNG_INDEXED;
                TextureFormat_Alpha_LQ   = TEXTURE_FORMAT.PNG_INDEXED;
                TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.JPG_888;
                TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.JPG_888;
                TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.JPG_888;
                break;
            }

            if (null == ConverterLocks)
            {
                ConverterLocks = new string[ProcessorCount];

                for (int i = 0; i < ProcessorCount; i++)
                {
                    ConverterLocks[i] = Guid.NewGuid().ToString();
                }
            }
        }
 public ConvertionParameters(DirectoryInfo srcDir, DirectoryInfo dstDir,
                             TEXTURE_FORMAT textureFormat   = TEXTURE_FORMAT.PNG_INDEXED, float scale = 1.0f,
                             TEXTURE_QUALITY textureQuality = TEXTURE_QUALITY.STANDARD, bool noTrim   = false)
 {
     this.SrcDir         = srcDir;
     this.DstDir         = dstDir;
     this.TextureFormat  = textureFormat;
     this.Scale          = scale;
     this.TextureQuality = textureQuality;
     this.NoTrim         = noTrim;
 }
        public TexturePackerCaller(PACKING_MODE packingMode = PACKING_MODE.EDITOR, float scale = 1, bool trimSpriteNames = false, bool singleLevelOutput = false)
        {
            PackingMode = packingMode;
            Scale = scale;
            TrimSpriteNames = trimSpriteNames;
            SingleLevelOutput = singleLevelOutput;

            switch (PackingMode)
            {
                case PACKING_MODE.DESKTOP:
                    TextureFormat_Alpha_HQ = TEXTURE_FORMAT.WEBP_8888;
                    TextureFormat_Alpha_SQ = TEXTURE_FORMAT.WEBP_8888;
                    TextureFormat_Alpha_LQ = TEXTURE_FORMAT.WEBP_8888;
                    TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.WEBP_888;
                    TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.WEBP_888;
                    TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.WEBP_888;
                    break;
                case PACKING_MODE.IOS:
                    TextureFormat_Alpha_HQ = TEXTURE_FORMAT.WEBP_8888;
                    TextureFormat_Alpha_SQ = TEXTURE_FORMAT.PVR_TC4_ALPHA;
                    TextureFormat_Alpha_LQ = TEXTURE_FORMAT.PVR_TC2_ALPHA;
                    TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.WEBP_565;
                    TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.PVR_TC4_NOALPHA;
                    TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.PVR_TC2_NOALPHA;
                    break;
                case PACKING_MODE.ANDROID:
                    TextureFormat_Alpha_HQ = TEXTURE_FORMAT.PNG_INDEXED;
                    TextureFormat_Alpha_SQ = TEXTURE_FORMAT.WEBP_4444;
                    TextureFormat_Alpha_LQ = TEXTURE_FORMAT.WEBP_4444;
                    TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.PKM;
                    TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.PKM;
                    TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.PKM;
                    break;
                default:
                    TextureFormat_Alpha_HQ = TEXTURE_FORMAT.PNG_INDEXED;
                    TextureFormat_Alpha_SQ = TEXTURE_FORMAT.PNG_INDEXED;
                    TextureFormat_Alpha_LQ = TEXTURE_FORMAT.PNG_INDEXED;
                    TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.JPG_888;
                    TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.JPG_888;
                    TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.JPG_888;
                    break;
            }

            if (null == ConverterLocks)
            {
                ConverterLocks = new string[ProcessorCount];

                for (int i = 0; i < ProcessorCount; i++)
                {
                    ConverterLocks[i] = Guid.NewGuid().ToString();
                }
            }
        }
        public TexturePackerCaller(PACKING_MODE packingMode = PACKING_MODE.EDITOR, float scale = 1)
        {
            PackingMode = packingMode;
            Scale = scale;

            switch (PackingMode)
            {
                case PACKING_MODE.IOS:
                    TextureFormat_Alpha_HQ = TEXTURE_FORMAT.WEBP_8888;
                    TextureFormat_Alpha_SQ = TEXTURE_FORMAT.PVR_CCZ_TC4_ALPHA;
                    TextureFormat_Alpha_LQ = TEXTURE_FORMAT.PVR_CCZ_TC2_ALPHA;
                    TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.WEBP_888;
                    TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.PVR_CCZ_TC4_NOALPHA;
                    TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.PVR_CCZ_TC2_NOALPHA;
                    break;
                case PACKING_MODE.ANDROID:
                    TextureFormat_Alpha_HQ = TEXTURE_FORMAT.WEBP_8888;
                    TextureFormat_Alpha_SQ = TEXTURE_FORMAT.WEBP_8888;
                    TextureFormat_Alpha_LQ = TEXTURE_FORMAT.WEBP_8888;
                    TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.PKM;
                    TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.PKM;
                    TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.PKM;
                    break;
                default:
                    TextureFormat_Alpha_HQ = TEXTURE_FORMAT.PNG_8888;
                    TextureFormat_Alpha_SQ = TEXTURE_FORMAT.PNG_INDEXED;
                    TextureFormat_Alpha_LQ = TEXTURE_FORMAT.PNG_INDEXED;
                    TextureFormat_NoAlpha_HQ = TEXTURE_FORMAT.JPG_888;
                    TextureFormat_NoAlpha_SQ = TEXTURE_FORMAT.JPG_888;
                    TextureFormat_NoAlpha_LQ = TEXTURE_FORMAT.JPG_888;
                    break;
            }

            if (null == ConverterLocks)
            {
                ConverterLocks = new string[ProcessorCount];

                for (int i = 0; i < ProcessorCount; i++)
                {
                    ConverterLocks[i] = Guid.NewGuid().ToString();
                }
            }
        }
 public ConvertionParameters(
     DirectoryInfo srcDir,
     DirectoryInfo dstDir,
     TEXTURE_FORMAT textureFormat = TEXTURE_FORMAT.PNG_INDEXED,
     float scale = 1.0f,
     TEXTURE_QUALITY textureQuality = TEXTURE_QUALITY.STANDARD,
     bool noTrim = false
     )
 {
     this.SrcDir = srcDir;
     this.DstDir = dstDir;
     this.TextureFormat = textureFormat;
     this.Scale = scale;
     this.TextureQuality = textureQuality;
     this.NoTrim = noTrim;
 }