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; } } }
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."); } }