38 lines
1.7 KiB
C#
38 lines
1.7 KiB
C#
using UnityEditor;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace AlicizaX.UI.Extension.Editor
|
|
{
|
|
internal static class MenuExtension
|
|
{
|
|
[MenuItem("GameObject/UX/UXTextMeshPro", false, -1)]
|
|
private static void CreateUxTextMeshProUx()
|
|
{
|
|
GameObject selectionObject = Selection.activeGameObject;
|
|
var gameObject = new GameObject("UXTextMeshPro", typeof(UXTextMeshPro));
|
|
gameObject.transform.SetParent(selectionObject.transform);
|
|
var rectTransform = gameObject.GetComponent<RectTransform>();
|
|
var uxTextMeshPro = gameObject.GetComponent<UXTextMeshPro>();
|
|
uxTextMeshPro.text = "UXTextMeshPro";
|
|
rectTransform.anchoredPosition = Vector2.zero;
|
|
rectTransform.localPosition = Vector3.zero;
|
|
rectTransform.pivot = new Vector2(0.5f, 0.5f);
|
|
rectTransform.localScale = Vector3.one;
|
|
Selection.activeGameObject = gameObject;
|
|
}
|
|
|
|
[MenuItem("GameObject/UX/RecyclerView", false, -1)]
|
|
private static void CreateUxRecyclerView()
|
|
{
|
|
GameObject selectionObject = Selection.activeGameObject;
|
|
if (selectionObject == null) return;
|
|
const string prefabPath = "Packages/com.alicizax.unity.ui.extension/Editor/RecyclerView/Res/ScrollView.prefab";
|
|
GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(prefabPath);
|
|
GameObject instance = (GameObject)PrefabUtility.InstantiatePrefab(prefab, selectionObject.transform);
|
|
PrefabUtility.UnpackPrefabInstance(instance, PrefabUnpackMode.Completely, InteractionMode.UserAction);
|
|
Selection.activeGameObject = instance;
|
|
}
|
|
}
|
|
}
|