Exemplo n.º 1
0
    public static void ExportSprite()
    {
        string sourcePath = HS_Path.CombinePath("Assets", "SubAssets", "Raw", "Sprite");
        string targetPath = HS_Path.CombinePath("Assets", "SubAssets", "Res", "Prefabs", "Sprite");

        string[] allFolders = AssetDatabase.GetSubFolders(sourcePath);
        for (int i = 0; i < allFolders.Length; i++)
        {
            string[] pathDatas = HS_Path.SplitPath(allFolders[i]);
            string   tagName   = pathDatas[pathDatas.Length - 1];
            string[] allAssets = AssetDatabase.FindAssets("t:Sprite", new string[] { allFolders[i] });
            for (int j = 0; j < allAssets.Length; j++)
            {
                string          assetPath = AssetDatabase.GUIDToAssetPath(allAssets[j]);
                TextureImporter ti        = TextureImporter.GetAtPath(assetPath) as TextureImporter;
                FormatTexture(ti, tagName);

                Sprite     sprite = AssetDatabase.LoadAssetAtPath <Sprite>(assetPath);
                GameObject go     = new GameObject(sprite.name);
                go.AddComponent <SpriteRenderer>().sprite = sprite;

                if (!AssetDatabase.IsValidFolder(HS_Path.CombinePath(targetPath, tagName)))
                {
                    AssetDatabase.CreateFolder(targetPath, tagName);
                }
                string prefabPath = HS_Path.CombinePath(HS_Path.CombinePath(targetPath, tagName), sprite.name + ".prefab");
                PrefabUtility.CreatePrefab(prefabPath, go);
                GameObject.DestroyImmediate(go);
            }
        }

        AssetDatabase.SaveAssets();
        AssetDatabase.Refresh();
        Debug.Log("Done!");
    }
Exemplo n.º 2
0
        public void UpdateLayout()
        {
            string gridCellPath = HS_Path.CombinePath("Assets", "SubAssets", "Res", "Prefabs", "UIListCell");

            if (mCellPrefab == null)
            {
                Debug.Log(mCellPrefabName);
                if (mCellPrefabName != "")
                {
                    string cellPrefabPath = HS_Path.CombinePath(gridCellPath, mCellPrefabName + ".prefab");
                    Debug.Log(cellPrefabPath);
                    GameObject prefab = UnityEditor.AssetDatabase.LoadAssetAtPath(cellPrefabPath, typeof(GameObject)) as GameObject;
                    mCellPrefab      = HS_ViewManager.UIAddChild(mGridContent.gameObject, prefab);
                    mCellPrefab.name = "CellPrefab";
                }
            }
            if (mGridContent == null)
            {
                Debug.LogError("Not specified GridContent");
                return;
            }
            if (mCellPrefab == null)
            {
                Debug.LogError("Not specified CellPrefab");
                return;
            }
            for (int i = mGridContent.transform.childCount - 1; i >= 0; i--)
            {
                Transform t = mGridContent.transform.GetChild(i);
                if (t.gameObject != mCellPrefab)
                {
                    DestroyImmediate(t.gameObject);
                }
            }
            int count = mCellCount - mGridContent.transform.childCount;

            for (int i = 0; i < count; i++)
            {
                GameObject cell = HS_ViewManager.UIAddChild(mGridContent.gameObject, mCellPrefab);
                cell.name = "Cell(clone)";
            }
        }
Exemplo n.º 3
0
    public static void ExportMusic()
    {
        string sourcePath = HS_Path.CombinePath("Assets", "SubAssets", "Raw", "Music");
        string targetPath = HS_Path.CombinePath("Assets", "SubAssets", "Res", "Prefabs", "Music");

        string[] allAssets = AssetDatabase.FindAssets("t:Object", new string[] { sourcePath });
        for (int i = 0; i < allAssets.Length; i++)
        {
            string    assetPath = AssetDatabase.GUIDToAssetPath(allAssets[i]);
            AudioClip prefab    = AssetDatabase.LoadAssetAtPath <AudioClip>(assetPath);
            if (prefab != null)
            {
                string prefabPath = HS_Path.CombinePath(targetPath, HS_Path.GetFileName(assetPath));
                AssetDatabase.CopyAsset(assetPath, prefabPath);
            }
        }

        AssetDatabase.SaveAssets();
        AssetDatabase.Refresh();
        Debug.Log("Done!");
    }
Exemplo n.º 4
0
    public static void SetPackingTagBatch()
    {
        string resPath = HS_Path.CombinePath("Assets", "SubAssets", "Raw", "UI");

        string[] allFolders = AssetDatabase.GetSubFolders(resPath);
        for (int i = 0; i < allFolders.Length; i++)
        {
            string[] pathDatas = HS_Path.SplitPath(allFolders[i]);
            string   tagName   = pathDatas[pathDatas.Length - 1];
            string[] allAssets = AssetDatabase.FindAssets("t:Sprite", new string[] { allFolders[i] });
            for (int j = 0; j < allAssets.Length; j++)
            {
                string          assetPath = AssetDatabase.GUIDToAssetPath(allAssets[j]);
                TextureImporter ti        = TextureImporter.GetAtPath(assetPath) as TextureImporter;
                FormatTexture(ti, tagName);
            }
        }

        AssetDatabase.SaveAssets();
        AssetDatabase.Refresh();
        Debug.Log("Done!");
    }