| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- using System.IO;
- using UnityEditor;
- using UnityEngine;
- namespace YIUI.Luban.Editor
- {
- public partial class LubanTools
- {
- public void CreateToPackage(string folderPath)
- {
- if (string.IsNullOrEmpty(folderPath)) return;
- if (!Directory.Exists(folderPath))
- {
- UnityTipsHelper.Show($"此文件夹不存在 无法创建: {folderPath}");
- return;
- }
- var createPackage = GetPackagesName(folderPath);
- if (string.IsNullOrEmpty(createPackage)) return;
- var sourceFolder = $"{LubanTemplate}/cn.etetet.yiui/Editor/Luban";
- var targetPackagePath = $"{PackagesPath}/{createPackage}/Luban/Config";
- if (!Directory.Exists($"{PackagesPath}/{createPackage}"))
- {
- UnityTipsHelper.ShowError($"目标包不存在 无法创建 \n{createPackage}");
- return;
- }
- if (!CopyFolder.Copy(sourceFolder, targetPackagePath)) return;
- CreateNullDirectory($"{targetPackagePath}/Datas");
- CreateNullDirectory($"{targetPackagePath}/Base/Defines");
- CloseWindowRefresh?.Invoke();
- UnityTipsHelper.Show($"{createPackage} Luban创建完毕");
- UnityTipsHelper.SelectLubanFolder(createPackage);
- }
- private void CreateNullDirectory(string path)
- {
- if (!Directory.Exists(path))
- {
- Directory.CreateDirectory(path);
- }
- }
- private static string GetPackagesName(string folderPath)
- {
- var basePath = $"{Application.dataPath.Replace("Assets", "Packages")}/";
- if (!folderPath.Contains(basePath))
- {
- UnityTipsHelper.Show($"不是Packages目录 无法创建: {folderPath}");
- return "";
- }
- var replacePath = folderPath.Replace(basePath, "");
- var splitValue = replacePath.Split("/");
- if (splitValue is { Length: >= 1 })
- {
- var packageName = splitValue[0];
- if (packageName.StartsWith("cn.etetet."))
- {
- return packageName;
- }
- }
- UnityTipsHelper.Show($"没有找到ET包 无法创建 {replacePath}");
- return "";
- }
- }
- }
|