43 lines
1.7 KiB
C#
43 lines
1.7 KiB
C#
#if IGNORE_ACCESS_CHECKS // [ASMDEFEX] DO NOT REMOVE THIS LINE MANUALLY.
|
|
#if !UNITY_2019_1_OR_NEWER
|
|
using System.IO;
|
|
using System.Text.RegularExpressions;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
namespace Coffee.UIExtensions
|
|
{
|
|
public class UIParticleMenu
|
|
{
|
|
[MenuItem("Assets/Samples/Import UIParticle Sample")]
|
|
static void ImportSample()
|
|
{
|
|
const string sampleGuid = "dc0fe9e7fe61947fab1522ab29e2fc88";
|
|
const string jsonGuid = "823dc693d087a4b559c7e1547274cc7d";
|
|
const string SAMPLE_NAME = "Demo";
|
|
|
|
string jsonPath = AssetDatabase.GUIDToAssetPath(jsonGuid);
|
|
string json = File.ReadAllText(jsonPath);
|
|
string version = Regex.Match(json, "\"version\"\\s*:\\s*\"([^\"]+)\"").Groups[1].Value;
|
|
string displayName = Regex.Match(json, "\"displayName\"\\s*:\\s*\"([^\"]+)\"").Groups[1].Value;
|
|
string src = Path.GetDirectoryName(jsonPath) + "/Samples~/" + SAMPLE_NAME;
|
|
string dst = string.Format("Assets/Samples/{0}/{1}/{2}",displayName, version, SAMPLE_NAME);
|
|
|
|
// Remove old samples
|
|
string samplePath = AssetDatabase.GUIDToAssetPath(sampleGuid);
|
|
if (samplePath.StartsWith("Assets/") && FileUtil.PathExists(samplePath))
|
|
{
|
|
FileUtil.DeleteFileOrDirectory(samplePath);
|
|
FileUtil.DeleteFileOrDirectory(samplePath + ".meta");
|
|
}
|
|
|
|
FileUtil.CopyDirectoryRecursive(src, dst);
|
|
FileUtil.CopyFileOrDirectory(src + ".meta", dst + ".meta");
|
|
AssetDatabase.ImportAsset(dst, ImportAssetOptions.ImportRecursive);
|
|
}
|
|
}
|
|
}
|
|
#endif
|
|
#endif // [ASMDEFEX] DO NOT REMOVE THIS LINE MANUALLY. |