少年修仙传客户端基础资源
client_Wu Xijin
2018-11-15 7bd10ef6d2f6bcfd09f99db498b0648c531f3c0d
4831 【前端】新的界面工程
1个文件已修改
37 ■■■■■ 已修改文件
Assets/Editor/Tool/ExportUIPackage.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/ExportUIPackage.cs
@@ -3,6 +3,7 @@
using UnityEngine;
using UnityEditor;
using System.IO;
using UnityEngine.UI;
public class ExportUIPackage
{
@@ -15,7 +16,42 @@
    [MenuItem("策划工具/导出UI Package", false, 4)]
    public static void Export()
    {
        var windowGuids = new List<string>();
        windowGuids.AddRange(AssetDatabase.FindAssets("Win t:prefab", new string[] { builtIn }));
        windowGuids.AddRange(AssetDatabase.FindAssets("Win t:prefab", new string[] { uiroot }));
        var windowReferenceConfigRoot = Application.dataPath + "/WindowAssets/";
        if (!Directory.Exists(windowReferenceConfigRoot))
        {
            Directory.CreateDirectory(windowReferenceConfigRoot);
        }
        var windowAssets = new List<string>();
        foreach (var item in windowGuids)
        {
            var path = AssetDatabase.GUIDToAssetPath(item);
            var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(path);
            var fileName = Path.GetFileNameWithoutExtension(path);
            var sprites = new List<string>();
            var components = prefab.GetComponentsInChildren<Image>(true);
            foreach (var image in components)
            {
                if (image.sprite != null)
                {
                    var spritePath = AssetDatabase.GetAssetPath(image.sprite).Replace("Assets/", "");
                    if (!sprites.Contains(spritePath))
                    {
                        sprites.Add(spritePath);
                    }
                }
            }
            File.WriteAllLines(windowReferenceConfigRoot + fileName + ".txt", sprites.ToArray(), System.Text.Encoding.UTF8);
        }
        var guids = new List<string>();
        guids.AddRange(AssetDatabase.FindAssets("t:TextAsset", new string[] { windowReferenceConfigRoot }));
        guids.AddRange(AssetDatabase.FindAssets("t:prefab", new string[] { builtIn }));
        guids.AddRange(AssetDatabase.FindAssets("Font", new string[] { uiroot }));
        guids.AddRange(AssetDatabase.FindAssets("t:prefab", new string[] { uiroot }));
@@ -31,7 +67,6 @@
        assets.Add(windowreferenceTable);
        AssetDatabase.ExportPackage(assets.ToArray(), exportFileName, ExportPackageOptions.Default);
    }
    [MenuItem("策划工具/生成window参照表", false, 5)]
    public static void ExportAllWindowNames()