using UnityEditor; using UnityEngine; /// /// 创建自定义组件 /// @author Ganchong /// public class CustomCreatePrefab : MonoBehaviour { /// /// 自定义预设根目录 /// static string CustomPrefabMainPath = "Assets/CustomPrefab/"; /// /// 创建页签容器 /// [MenuItem("GameObject/CustomCreate/GetAllPrePos #&t", false, 10)] static void CreateTapContent0001(MenuCommand menuCommand) { //CreateTemplate("TapContent.Prefab", menuCommand); GameObject go = menuCommand.context as GameObject; string allPosStr = ""; foreach (Transform child in go.transform) { if (child.transform.localPosition.x < 0) { allPosStr = allPosStr + "'" + child.transform.localPosition.x + "#" + child.transform.localPosition.y + "\n"; } else { allPosStr = allPosStr + child.transform.localPosition.x + "#" + child.transform.localPosition.y + "\n"; } } Debug.Log(allPosStr); } /// /// 创建页签容器 /// [MenuItem("GameObject/CustomCreate/TapContent #&t",false,10)] static void CreateTapContent(MenuCommand menuCommand) { CreateTemplate("TapContent.Prefab", menuCommand); } /// /// 创建按钮1 /// [MenuItem("GameObject/CustomCreate/ButtonBlue", false, 10)] static void CreateButton01(MenuCommand menuCommand) { CreateTemplate("Button01.Prefab", menuCommand); } /// /// 创建按钮2 /// [MenuItem("GameObject/CustomCreate/ButtonYellow", false, 10)] static void CreateButton02(MenuCommand menuCommand) { CreateTemplate("Button02.Prefab", menuCommand); } /// /// 创建按钮3 /// [MenuItem("GameObject/CustomCreate/ButtonGreen", false, 10)] static void CreateButton03(MenuCommand menuCommand) { CreateTemplate("Button03.Prefab", menuCommand); } /// /// 创建按钮4 /// [MenuItem("GameObject/CustomCreate/ButtonOrange", false, 10)] static void CreateButton04(MenuCommand menuCommand) { CreateTemplate("Button04.Prefab", menuCommand); } /// /// 创建按钮10 /// [MenuItem("GameObject/CustomCreate/Button10", false, 10)] static void CreateButton10(MenuCommand menuCommand) { CreateTemplate("Button10.Prefab", menuCommand); } /// /// 创建按钮11 /// [MenuItem("GameObject/CustomCreate/Button11", false, 10)] static void CreateButton11(MenuCommand menuCommand) { CreateTemplate("Button11.Prefab", menuCommand); } /// /// 创建标题1 /// [MenuItem("GameObject/CustomCreate/Title01", false, 10)] static void CreateTitle01(MenuCommand menuCommand) { CreateTemplate("Title01.Prefab", menuCommand); } /// /// 创建标题2 /// [MenuItem("GameObject/CustomCreate/Title02", false, 10)] static void CreateTitle02(MenuCommand menuCommand) { CreateTemplate("Title02.Prefab", menuCommand); } /// /// 创建圆角头像 /// [MenuItem("GameObject/CustomCreate/CircleHead", false, 10)] static void CreateCircleHead(MenuCommand menuCommand) { CreateTemplate("CircleHead.Prefab", menuCommand); } /// /// 创建模版 /// /// static GameObject CreateTemplate(string name, MenuCommand menuCommand) { GameObject go = GameObject.Instantiate(AssetDatabase.LoadAssetAtPath(CustomPrefabMainPath + name)); GameObjectUtility.SetParentAndAlign(go, menuCommand.context as GameObject); Undo.RegisterCreatedObjectUndo(go, "Create " + go.name); Transform parent = Selection.activeTransform; go.transform.SetParent(parent); go.transform.localScale = Vector3.one; go.transform.localPosition = Vector3.zero; go.name = go.name.Replace("(Clone)", ""); Selection.activeObject = go; return go; } }