diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..902cb18 Binary files /dev/null and b/.DS_Store differ diff --git a/Editor.meta b/Editor.meta new file mode 100644 index 0000000..1b1f582 --- /dev/null +++ b/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb038b63576824edfb419a63073722fc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/BuildEditor.meta b/Editor/BuildEditor.meta new file mode 100644 index 0000000..4b3013d --- /dev/null +++ b/Editor/BuildEditor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4dd8e584803c4d8482f325990c3b679 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/BuildEditor/BuildAssemblieEditor.cs b/Editor/BuildEditor/BuildAssemblieEditor.cs new file mode 100644 index 0000000..279e5c6 --- /dev/null +++ b/Editor/BuildEditor/BuildAssemblieEditor.cs @@ -0,0 +1,154 @@ +// using System; +// using System.Collections.Generic; +// using System.IO; +// using System.Linq; +// using System.Threading; +// using UnityEngine; +// using UnityEditor; +// using UnityEditor.Compilation; +// using Random = UnityEngine.Random; +// +// namespace ZhaoluGame +// { +// public static class BuildAssemblieEditor +// { +// [MenuItem("Tools/Build/EnableAutoBuildCodeDebug _F1")] +// public static void SetAutoBuildCode() +// { +// PlayerPrefs.SetInt("AutoBuild", 1); +// EditorNotificationHelper.ShowNotification("AutoBuildCode Enabled"); +// } +// +// [MenuItem("Tools/Build/DisableAutoBuildCodeDebug _F2")] +// public static void CancelAutoBuildCode() +// { +// PlayerPrefs.DeleteKey("AutoBuild"); +// EditorNotificationHelper.ShowNotification("AutoBuildCode Disabled"); +// } +// +// [MenuItem("Tools/Build/BuildCodeRelease _F6")] +// public static void BuildCodeRelease() +// { +// BuildAssemblieEditor.BuildMuteAssembly("HotfixCode", new[] +// { +// "HotfixCode/", +// }, Array.Empty(), CodeOptimization.Release); +// +// AfterCompiling(); +// +// AssetDatabase.Refresh(); +// } +// +// private static void BuildMuteAssembly(string assemblyName, string[] CodeDirectorys, +// string[] additionalReferences, CodeOptimization codeOptimization) +// { +// List scripts = new List(); +// for (int i = 0; i < CodeDirectorys.Length; i++) +// { +// DirectoryInfo dti = new DirectoryInfo(CodeDirectorys[i]); +// FileInfo[] fileInfos = dti.GetFiles("*.cs", System.IO.SearchOption.AllDirectories); +// for (int j = 0; j < fileInfos.Length; j++) +// { +// scripts.Add(fileInfos[j].FullName); +// } +// } +// +// string dllPath = Path.Combine(Define.BuildOutputDir, $"{assemblyName}.dll"); +// string pdbPath = Path.Combine(Define.BuildOutputDir, $"{assemblyName}.pdb"); +// File.Delete(dllPath); +// File.Delete(pdbPath); +// +// Directory.CreateDirectory(Define.BuildOutputDir); +// +// AssemblyBuilder assemblyBuilder = new AssemblyBuilder(dllPath, scripts.ToArray()); +// +// //启用UnSafe +// //assemblyBuilder.compilerOptions.AllowUnsafeCode = true; +// +// BuildTargetGroup buildTargetGroup = +// BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget); +// +// assemblyBuilder.compilerOptions.CodeOptimization = codeOptimization; +// assemblyBuilder.compilerOptions.ApiCompatibilityLevel = +// PlayerSettings.GetApiCompatibilityLevel(buildTargetGroup); +// // assemblyBuilder.compilerOptions.ApiCompatibilityLevel = ApiCompatibilityLevel.NET_4_6; +// +// assemblyBuilder.additionalReferences = additionalReferences; +// +// assemblyBuilder.flags = AssemblyBuilderFlags.None; +// //AssemblyBuilderFlags.None 正常发布 +// //AssemblyBuilderFlags.DevelopmentBuild 开发模式打包 +// //AssemblyBuilderFlags.EditorAssembly 编辑器状态 +// assemblyBuilder.referencesOptions = ReferencesOptions.UseEngineModules; +// +// assemblyBuilder.buildTarget = EditorUserBuildSettings.activeBuildTarget; +// +// assemblyBuilder.buildTargetGroup = buildTargetGroup; +// +// assemblyBuilder.buildStarted += delegate(string assemblyPath) +// { +// Debug.LogFormat("build start:" + assemblyPath); +// }; +// +// assemblyBuilder.buildFinished += delegate(string assemblyPath, CompilerMessage[] compilerMessages) +// { +// int errorCount = compilerMessages.Count(m => m.type == CompilerMessageType.Error); +// int warningCount = compilerMessages.Count(m => m.type == CompilerMessageType.Warning); +// +// Debug.LogFormat("Warnings: {0} - Errors: {1}", warningCount, errorCount); +// +// if (warningCount > 0) +// { +// Debug.LogFormat("有{0}个Warning!!!", warningCount); +// } +// +// if (errorCount > 0) +// { +// for (int i = 0; i < compilerMessages.Length; i++) +// { +// if (compilerMessages[i].type == CompilerMessageType.Error) +// { +// Debug.LogError(compilerMessages[i].message); +// } +// } +// } +// }; +// +// //开始构建 +// if (!assemblyBuilder.Build()) +// { +// Debug.LogErrorFormat("build fail:" + assemblyBuilder.assemblyPath); +// return; +// } +// } +// +// private static void AfterCompiling() +// { +// while (EditorApplication.isCompiling) +// { +// Debug.Log("Compiling wait1"); +// // 主线程sleep并不影响编译线程 +// Thread.Sleep(1000); +// Debug.Log("Compiling wait2"); +// } +// +// Debug.Log("Compiling finish"); +// +// Directory.CreateDirectory(Define.HotfixCodeDir); +// File.Copy(Path.Combine(Define.BuildOutputDir, "HotfixCode.dll"), +// Path.Combine(Define.HotfixCodeDir, "HotfixCode.dll.bytes"), true); +// File.Copy(Path.Combine(Define.BuildOutputDir, "HotfixCode.pdb"), +// Path.Combine(Define.HotfixCodeDir, "HotfixCode.pdb.bytes"), true); +// +// // File.Copy(Path.Combine(Define.BuildOutputDir, "HotfixCode.dll"), Path.Combine(Define.HotfixCodeEditorDir, "HotfixCode.dll"), true); +// // File.Copy(Path.Combine(Define.BuildOutputDir, "HotfixCode.pdb"), Path.Combine(Define.HotfixCodeEditorDir, "HotfixCode.pdb"), true); +// +// AssetDatabase.Refresh(); +// Debug.Log("copy Code.dll to Bundles/Code success!"); +// +// Debug.Log("build success!"); +// //反射获取当前Game视图,提示编译完成 +// EditorNotificationHelper.ShowNotification("Build Code Success"); +// } +// } +// } \ No newline at end of file diff --git a/Editor/BuildEditor/BuildAssemblieEditor.cs.meta b/Editor/BuildEditor/BuildAssemblieEditor.cs.meta new file mode 100644 index 0000000..0275712 --- /dev/null +++ b/Editor/BuildEditor/BuildAssemblieEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: db39c7b028ad96444bec9e439e89d35e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/BuildEditor/BuildHelper.cs b/Editor/BuildEditor/BuildHelper.cs new file mode 100644 index 0000000..998eb86 --- /dev/null +++ b/Editor/BuildEditor/BuildHelper.cs @@ -0,0 +1,276 @@ +// using System; +// using System.Collections.Generic; +// using System.IO; +// using Sirius.Runtime; +// using UnityEditor; +// using UnityEditor.Build; +// using UnityEngine; +// using UnityGameFramework.Runtime; +// using YooAsset.Editor; +// +// namespace ZhaoluGame +// { +// public class BuildHelper +// { +// static string VersionName = ""; +// private static string PlatName = ""; +// static string ProductName = ""; +// private static BuildTarget BT; +// private static int BuildVersion; +// private static EBuildMode EBuildMode; +// +// public static string BuildFolder = "../Release/{0}/{1}/"; +// +// public static void BuildFormCammond() +// { +// VersionName = GetShellCmdArg("VersionName"); +// PlatName = GetShellCmdArg("PlatName"); +// ProductName = GetShellCmdArg("ProductName"); +// Build(); +// } +// +// [MenuItem("AA/Build_Client")] +// public static void Build_Dev_MacOS() +// { +// VersionName = "Dev"; +// PlatName = GetPlatName(); +// ProductName = "FromSky"; +// Build(); +// } +// +// [MenuItem("AA/Release/Build_Android_Client")] +// public static void Build_Release_Android() +// { +// VersionName = "Release"; +// PlatName = "Android"; +// ProductName = "FromSky.apk"; +// Build(); +// } +// +// public static void Build() +// { +// BuildTarget buildTarget = GetBuildTargetByName(PlatName); +// +// string fold = string.Format(BuildFolder, VersionName, PlatName); +// if (!Directory.Exists(fold)) +// { +// Directory.CreateDirectory(fold); +// } +// +// SetICon(VersionName); +// +// AssetDatabase.Refresh(); +// +// string[] levels = GetLevelsFromBuildSettings(); +// Log.Info("Unity: 开始 Build Client"); +// +// BuildOptions buildOptions = BuildOptions.AllowDebugging | BuildOptions.ConnectWithProfiler | +// BuildOptions.AutoRunPlayer | BuildOptions.Development | +// BuildOptions.EnableDeepProfilingSupport; +// +// buildOptions = BuildOptions.None; +// BuildPipeline.BuildPlayer(levels, $"{fold}/{ProductName}", buildTarget, buildOptions); +// +// Log.Info("Unity: 完成 Build Client"); +// } +// +// public static void SetICon(string VersionName) +// { +// var texture = +// (Texture2D) AssetDatabase.LoadAssetAtPath( +// $"Assets/Resources/Pictures/AppIcon/AppIcon-{VersionName}.png", typeof(Texture2D)); +// var texs = new[] {texture, texture, texture, texture, texture, texture, texture, texture}; +// PlayerSettings.SetIcons(NamedBuildTarget.Standalone, texs, IconKind.Any); +// } +// +// public static void SetBuildInfo(string vName) +// { +// string path = $"Assets/Resources/BuildInfo.txt"; +// var handle = AssetDatabase.LoadAssetAtPath(path); +// var versionJson = handle.text; +// BuildInfo buildInfo = JsonUtility.FromJson(versionJson); +// +// if (vName == "Dev") +// { +// buildInfo.AssetUrl = "http://192.168.0.109:1234"; +// } +// +// if (vName == "Release") +// { +// buildInfo.AssetUrl = "https://formsky.oss-cn-hangzhou.aliyuncs.com"; +// } +// +// var json = JsonUtility.ToJson(buildInfo); +// +// var filePath = Application.dataPath.Replace("Assets", path); +// File.WriteAllText(filePath, json); +// } +// +// public static void SettScriptingDefineSymbols(BuildTargetGroup btg) +// { +// string[] defineSymbols = +// { +// "NET452", +// "THREAD_SAFE", +// }; +// PlayerSettings.SetScriptingDefineSymbolsForGroup(btg, defineSymbols); +// switch (btg) +// { +// case BuildTargetGroup.Android: +// EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.Android); +// break; +// case BuildTargetGroup.Standalone: +// EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.StandaloneWindows64); +// break; +// } +// } +// +// [MenuItem("Tools/Bundle Exe")] +// public static void BundleExe() +// { +// var nowTarget = EditorUserBuildSettings.selectedBuildTargetGroup; +// SettScriptingDefineSymbols(BuildTargetGroup.Standalone); +// // BuildScript.BuildBundles(); +// AssetDatabase.Refresh(); +// SettScriptingDefineSymbols(nowTarget); +// } +// +// [MenuItem("Tools/Bundle Apk")] +// public static void BundleApk() +// { +// var nowTarget = EditorUserBuildSettings.selectedBuildTargetGroup; +// SettScriptingDefineSymbols(BuildTargetGroup.Android); +// +// AssetDatabase.Refresh(); +// +// // BuildScript.BuildBundles(); +// +// AssetDatabase.Refresh(); +// SettScriptingDefineSymbols(nowTarget); +// } +// +// [MenuItem("Tools/DefineSymbols")] +// public static void SettScriptingDefineSymbolsPc() +// { +// SettScriptingDefineSymbols(EditorUserBuildSettings.selectedBuildTargetGroup); +// } +// +// public static string[] GetLevelsFromBuildSettings() +// { +// List scenes = new List(); +// scenes.Add("Assets/GameMain/Scenes/Entry.unity"); +// scenes.Add("Assets/GameMain/Scenes/PreScene.unity"); +// scenes.Add("Assets/GameMain/Scenes/MainScene.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/00_test.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/01_test.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/1.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/2.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/3.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/4.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/5.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/6.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/7.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/8.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/9.unity"); +// scenes.Add("Assets/GameMain/Scenes/Battle/10.unity"); +// return scenes.ToArray(); +// } +// +// public static string GetShellCmdArg(string argName) +// { +// { +// #if UNITY_EDITOR +// //在这里分析shell传入的参数, 还记得上面我们说的哪个 project-$1 这个参数吗? +// //这里遍历所有参数,找到 project开头的参数, 然后把-符号 后面的字符串返回, +// foreach (string arg in System.Environment.GetCommandLineArgs()) +// { +// if (arg.StartsWith(argName)) +// { +// return arg.Split("="[0])[1]; +// } +// } +// #endif +// } +// Debug.LogError($"这个参数未输入! {argName}"); +// return ""; +// } +// +// public static BuildTarget GetBuildTargetByName(string plat) +// { +// BuildTarget buildTarget = BuildTarget.StandaloneOSX; +// if (plat == "MacOS") +// { +// buildTarget = BuildTarget.StandaloneOSX; +// } +// else if (plat == "Win") +// { +// buildTarget = BuildTarget.StandaloneWindows64; +// } +// else if (plat == "Android") +// { +// buildTarget = BuildTarget.Android; +// } +// +// return buildTarget; +// } +// +// public static string GetPlatName() +// { +// if (Environment.OSVersion.Platform == PlatformID.Unix) +// { +// PlatName = "MacOS"; +// } +// else +// { +// PlatName = "Win"; +// } +// return PlatName; +// } +// +// public static void BuildYooAssetFromCommand() +// { +// var BuildTargetStr = GetShellCmdArg("BuildTarget"); +// if (BuildTargetStr == "Android") +// BT = BuildTarget.Android; +// +// var BuildVersionStr = GetShellCmdArg("BuildVersion"); +// int.TryParse(BuildVersionStr, out BuildVersion); +// +// var EBuildModeStr = GetShellCmdArg("EBuildMode"); +// if (EBuildModeStr == EBuildMode.ForceRebuild.ToString()) +// EBuildMode = EBuildMode.ForceRebuild; +// if (EBuildModeStr == EBuildMode.IncrementalBuild.ToString()) +// EBuildMode = EBuildMode.IncrementalBuild; +// +// BuildYooAssetInternel(); +// } +// +// [MenuItem("Tools/BuildYooAsset")] +// public static void BuildYooAssetInternel() +// { +// Debug.Log($"开始构建"); +// +// // 构建参数 +// string projectPath = EditorTools.GetProjectPath(); +// string defaultOutputRoot = $"{projectPath}/../../blackcat-update"; +// BuildParameters buildParameters = new BuildParameters(); +// buildParameters.OutputRoot = defaultOutputRoot; +// buildParameters.BuildTarget = BT; +// buildParameters.BuildMode = EBuildMode; +// buildParameters.BuildVersion = BuildVersion; +// buildParameters.BuildinTags = "buildin"; +// buildParameters.VerifyBuildingResult = true; +// buildParameters.EnableAddressable = true; +// buildParameters.AppendFileExtension = false; +// buildParameters.CopyBuildinTagFiles = true; +// buildParameters.EncryptionServices = new GameEncryption(); +// buildParameters.CompressOption = ECompressOption.LZ4; +// +// // 执行构建 +// AssetBundleBuilder builder = new AssetBundleBuilder(); +// builder.Run(buildParameters); +// +// Debug.Log($"构建完成"); +// } +// } +// } \ No newline at end of file diff --git a/Editor/BuildEditor/BuildHelper.cs.meta b/Editor/BuildEditor/BuildHelper.cs.meta new file mode 100644 index 0000000..efdb39f --- /dev/null +++ b/Editor/BuildEditor/BuildHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 12ef427a1149a4a599dbfc95b31d2850 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/BuildEditor/EditorNotificationHelper.cs b/Editor/BuildEditor/EditorNotificationHelper.cs new file mode 100644 index 0000000..d11c395 --- /dev/null +++ b/Editor/BuildEditor/EditorNotificationHelper.cs @@ -0,0 +1,65 @@ +// ----------------------------------------------- +// Copyright © Sirius. All rights reserved. +// CreateTime: 2022/6/7 14:35:16 +// ----------------------------------------------- + +#if UNITY_EDITOR +using UnityEditor; +using UnityEngine; + +namespace ZhaoluGame +{ + public static class EditorNotificationHelper + { + public static void ShowNotification(string tips) + { + var game = EditorWindow.GetWindow(typeof(EditorWindow).Assembly.GetType("UnityEditor.GameView")); + game?.ShowNotification(new GUIContent($"{tips}")); + } + } + [InitializeOnLoad] + public class EditorNotification : AssetPostprocessor + { + private static bool isFocused; + static EditorNotification() + { + EditorApplication.update += Update; + } + + private static void Update() + { + if (isFocused == UnityEditorInternal.InternalEditorUtility.isApplicationActive) + { + return; + } + isFocused = UnityEditorInternal.InternalEditorUtility.isApplicationActive; + OnEditorFocus(isFocused); + } + /// + /// Unity���ھ۽�״̬�ı�ص� + /// + /// + private static void OnEditorFocus(bool focus) + { + if (focus) + { + //ÿ���л���Unity���Զ�ִ�нű����� + // Debug.Log($"�༭������״̬:{focus}"); + bool autoBuild = PlayerPrefs.HasKey("AutoBuild"); + if (!autoBuild) + return; + // BuildAssemblieEditor.BuildCodeDebug(); + } + } + + /// + /// Asset���ļ��ı�ʱ�ص� + /// + private void OnPreprocessAsset() + { + //Debug.Log("Asset���ļ��ı�ʱ�ص�"); + } + } +} + +#endif diff --git a/Editor/BuildEditor/EditorNotificationHelper.cs.meta b/Editor/BuildEditor/EditorNotificationHelper.cs.meta new file mode 100644 index 0000000..8bdc50b --- /dev/null +++ b/Editor/BuildEditor/EditorNotificationHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97026fb4c18b947d6af149be86c1d41f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/ZhaoluEditor.asmdef b/Editor/ZhaoluEditor.asmdef new file mode 100644 index 0000000..e34b765 --- /dev/null +++ b/Editor/ZhaoluEditor.asmdef @@ -0,0 +1,19 @@ +{ + "name": "ZhaoluEditor", + "rootNamespace": "", + "references": [ + "GUID:4d1926c9df5b052469a1c63448b7609a", + "GUID:4bd03dfaaadd6453e8ca3a932709f626" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Editor/ZhaoluEditor.asmdef.meta b/Editor/ZhaoluEditor.asmdef.meta new file mode 100644 index 0000000..1121dfe --- /dev/null +++ b/Editor/ZhaoluEditor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8cccf0b9090c9446d8bab2e02520e33a +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/ZhaoluEditor.cs b/Editor/ZhaoluEditor.cs new file mode 100644 index 0000000..f36b11c --- /dev/null +++ b/Editor/ZhaoluEditor.cs @@ -0,0 +1,94 @@ +// ----------------------------------------------- +// Copyright © Sirius. All rights reserved. +// CreateTime: 2022/4/28 12:4:42 +// ----------------------------------------------- +// ----------------------------------------------- +// Copyright © Sirius. All rights reserved. +// CreateTime: 2022/4/24 17:1:7 +// ----------------------------------------------- + +#if UNITY_EDITOR + +using System; +using UnityEditor; +using UnityEngine; + +public class ZhaoluEditor +{ + public static string path = $"{Application.dataPath}/../../Tools/"; + + [MenuItem("Zhaolu/Luban Export")] + private static void LubanExport() + { +#if UNITY_EDITOR_OSX + string ShellPath = $"{Application.dataPath}/../../Tools/ShellCommands"; + ShellHelper.Run("sh Git/UpdateLuban.sh", ShellPath); +#endif + path = $"{Application.dataPath}/../../Tools/Luban"; + Debug.Log(path); +#if UNITY_EDITOR_OSX + ShellHelper.Run("sh gen_code_bin.sh", path); +#elif UNITY_EDITOR_WIN + ShellHelper.Run("gen_code_bin_ForUnity.bat", path); +#endif + AssetDatabase.Refresh(); + } + + [MenuItem("Zhaolu/Luban Clean Gen")] + private static void LubanCleanGen() + { + +#if UNITY_EDITOR_OSX + path = $"{Application.dataPath}/../../Tools/ShellCommands"; + ShellHelper.Run("sh Git/CheckoutGenerate_Luban.sh", path); + return; +#endif + try + { + ShellHelper.Run("CheckoutGenerate_Luban.bat", path); + } + catch (Exception e) + { + Console.WriteLine(e); + throw; + } + } + + [MenuItem("Zhaolu/Proto Export")] + private static void ProtoExport() + { +#if UNITY_EDITOR_OSX + path = $"{Application.dataPath}/../../Tools/ShellCommands"; + ShellHelper.Run("sh Git/UpdateProto.sh", path); + return; +#endif + path = $"{Application.dataPath}/../../Tools/Tools/bin/Debug/net6.0"; + ShellHelper.Run("dotnet Tools.dll", path); + AssetDatabase.Refresh(); + } + + [MenuItem("Zhaolu/Proto Clean Gen")] + private static void ProtoCleanGen() + { +#if UNITY_EDITOR_OSX + path = $"{Application.dataPath}/../../Tools/ShellCommands"; + ShellHelper.Run("sh Git/CheckoutGenerate_Proto.sh", path); + return; +#endif + ShellHelper.Run("CheckoutGenerate_Proto.bat", path); + } + + + [MenuItem("Zhaolu/FGUI Clean Gen")] + private static void FGUICleanGen() + { +#if UNITY_EDITOR_OSX + path = $"{Application.dataPath}/../../Tools/ShellCommands"; + ShellHelper.Run("sh Git/CheckoutGenerate_Fui.sh", path); + return; +#endif + ShellHelper.Run("CheckoutGenerate_Fui.bat", path); + } +} + +#endif \ No newline at end of file diff --git a/Editor/ZhaoluEditor.cs.meta b/Editor/ZhaoluEditor.cs.meta new file mode 100644 index 0000000..757f888 --- /dev/null +++ b/Editor/ZhaoluEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dcc70e3c41bdc479b94bdb422d77d537 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..41f17f4 --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "com.zhaolu.zhaolu2", + "displayName": "Zhaolu", + "version": "1.0.0", + "unity": "2021.3", + "unityRelease": "1f1", + "dependencies": { + + }, + "keywords": [ + ], + "repository": { + + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..5415d7c --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b086fc1b96c9940bb99929b7969a1847 +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: -- libgit2 0.21.2