ParticleEffectForUGUI/Scripts/Editor/UIParticleMenu.cs

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.