public static bool CompareSettings(SpriteAtlas spriteAtlas, SoSpriteAtlasPostprocessor so, out string message)
        {
            message = string.Empty;
            var same = ComparePlatformSetting(Helper.PlatformStandalone, so, spriteAtlas, ref message);

            same &= ComparePlatformSetting(Helper.PlatformAndroid, so, spriteAtlas, ref message);
            same &= ComparePlatformSetting(Helper.PlatformIPhone, so, spriteAtlas, ref message);
            return(same);
        }
        static void SetPlatformSettings(string platform, SpriteAtlas spriteAtlas, SoSpriteAtlasPostprocessor so)
        {
            var soPlatformSettings = so.GetPlatformSettings(platform);
            var platformSettings   = spriteAtlas.GetPlatformSettings(platform);

            platformSettings.overridden         = soPlatformSettings.overridden;
            platformSettings.format             = (TextureImporterFormat)soPlatformSettings.format;
            platformSettings.maxTextureSize     = soPlatformSettings.maxTextureSize;
            platformSettings.compressionQuality = (int)soPlatformSettings.compressionQuality;
            spriteAtlas.SetPlatformSettings(platformSettings);
        }
示例#3
0
        public static SoAssetPostprocessor Create(PostprocessorAssetType assetType)
        {
            switch (assetType)
            {
            case PostprocessorAssetType.SpriteAtlas:
                return(SoSpriteAtlasPostprocessor.Create());

            case PostprocessorAssetType.Sprite:
                return(SoSpritePostprocessor.Create());

            case PostprocessorAssetType.Texture:
                return(SoTexturePostprocessor.Create());

            case PostprocessorAssetType.Model:
                return(SoModelPostprocessor.Create());
            }

            return(null);
        }
示例#4
0
        public static SoAssetPostprocessor GetDefault(PostprocessorAssetType assetType)
        {
            switch (assetType)
            {
            case PostprocessorAssetType.SpriteAtlas:
                return(SoSpriteAtlasPostprocessor.GetDefaultSoPostprocessor());

            case PostprocessorAssetType.Sprite:
                return(SoSpritePostprocessor.GetDefaultSoPostprocessor());

            case PostprocessorAssetType.Texture:
                return(SoTexturePostprocessor.GetDefaultSoPostprocessor());

            case PostprocessorAssetType.Model:
                return(SoModelPostprocessor.GetDefaultSoPostprocessor());
            }

            return(null);
        }
        static bool ComparePlatformSetting(string platform, SoSpriteAtlasPostprocessor texturePostprocessorBase, SpriteAtlas spriteAtlas, ref string message)
        {
            var so = texturePostprocessorBase.GetPlatformSettings(platform);
            var texturePlatformSettings = spriteAtlas.GetPlatformSettings(platform);
            var same     = true;
            var sameInfo = string.Empty;

            if (so.overridden != texturePlatformSettings.overridden)
            {
                same     = false;
                sameInfo = StringUtil.Contact(sameInfo, "\n", "overridden");
            }

            if (so.overridden && texturePlatformSettings.overridden)
            {
                if (so.format != (int)texturePlatformSettings.format)
                {
                    same     = false;
                    sameInfo = StringUtil.Contact(sameInfo, "\n", "format");
                }

                if ((int)so.compressionQuality != texturePlatformSettings.compressionQuality)
                {
                    same     = false;
                    sameInfo = StringUtil.Contact(sameInfo, "\n", "compressionQuality");
                }

                if (so.maxTextureSize != texturePlatformSettings.maxTextureSize)
                {
                    same     = false;
                    sameInfo = StringUtil.Contact(sameInfo, "\n", "maxTextureSize");
                }
            }

            if (!same)
            {
                message = StringUtil.Contact(message, "\n", "<b>platform: ", platform, "</b>", sameInfo);
            }

            return(same);
        }
 public static void SetPlatformSettings(SpriteAtlas spriteAtlas, SoSpriteAtlasPostprocessor so)
 {
     SetPlatformSettings(Helper.PlatformStandalone, spriteAtlas, so);
     SetPlatformSettings(Helper.PlatformIPhone, spriteAtlas, so);
     SetPlatformSettings(Helper.PlatformAndroid, spriteAtlas, so);
 }