public static void CheckDefaultSelectedDistributeFlags()
        {
            var path = GetDistributeFlagsFilePath();

            if (!System.IO.File.Exists(path))
            {
                var src = CapsModEditor.FindAssetInMods("DefaultDistributeFlags.txt", true);
                if (src != null && System.IO.File.Exists(src))
                {
                    System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(path));
                    System.IO.File.Copy(src, path);
                    AssetDatabase.ImportAsset(path);
                    return;
                }
            }
        }
Exemple #2
0
        public static void SetCurrentAtlasProperties(string profile)
        {
            var path = CapsModEditor.FindAssetInMods("AtlasTemplate_" + profile + ".spriteatlas");

            if (path != null)
            {
                var template = AssetDatabase.LoadAssetAtPath <UnityEngine.U2D.SpriteAtlas>(path);
                if (template != null)
                {
                    var selections = Selection.assetGUIDs;
                    if (selections != null)
                    {
                        for (int i = 0; i < selections.Length; ++i)
                        {
                            var sel       = selections[i];
                            var atlaspath = AssetDatabase.GUIDToAssetPath(sel);
                            if (atlaspath != null)
                            {
                                var atlas = AssetDatabase.LoadAssetAtPath <UnityEngine.U2D.SpriteAtlas>(atlaspath);
                                if (atlas)
                                {
                                    UnityEditor.U2D.SpriteAtlasExtensions.SetIncludeInBuild(atlas, false);
                                    UnityEditor.U2D.SpriteAtlasExtensions.SetPackingSettings(atlas, UnityEditor.U2D.SpriteAtlasExtensions.GetPackingSettings(template));
                                    UnityEditor.U2D.SpriteAtlasExtensions.SetTextureSettings(atlas, UnityEditor.U2D.SpriteAtlasExtensions.GetTextureSettings(template));

                                    UnityEditor.U2D.SpriteAtlasExtensions.SetPlatformSettings(atlas, UnityEditor.U2D.SpriteAtlasExtensions.GetPlatformSettings(template, "DefaultTexturePlatform"));
                                    var buildTargetNames = Enum.GetNames(typeof(BuildTargetGroup));
                                    for (int j = 0; j < buildTargetNames.Length; ++j)
                                    {
                                        var platsettings = UnityEditor.U2D.SpriteAtlasExtensions.GetPlatformSettings(template, buildTargetNames[j]);
                                        if (platsettings != null && platsettings.overridden)
                                        {
                                            UnityEditor.U2D.SpriteAtlasExtensions.SetPlatformSettings(atlas, platsettings);

                                            BuildTargetGroup bgroup;
                                            Enum.TryParse(buildTargetNames[j], out bgroup);
                                            for (int k = 0; k < buildTargetNames.Length; ++k)
                                            {
                                                BuildTargetGroup bgroupcur;
                                                Enum.TryParse(buildTargetNames[k], out bgroupcur);
                                                if (bgroup == bgroupcur)
                                                {
                                                    BuildTarget btar;
                                                    if (Enum.TryParse(buildTargetNames[k], out btar))
                                                    {
                                                        Debug.LogFormat("Now packing {0} on {1}.", atlas.name, btar);
                                                        UnityEditor.U2D.SpriteAtlasUtility.PackAtlases(new UnityEngine.U2D.SpriteAtlas[] { atlas }, btar, false);
                                                        Debug.LogFormat("Packing done {0} on {1}.", atlas.name, btar);
                                                    }
                                                }
                                            }
                                        }
                                    }

                                    RenameAtlasName(atlaspath);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                Debug.LogError("Please create AtlasTemplate_" + profile + ".spriteatlas in any mod folder.");
            }
        }