2025-02-19 17:24:26 +09:00
|
|
|
|
using TMPro;
|
|
|
|
|
|
using UnityEditor;
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using UnityEngine.UI;
|
2025-02-21 11:57:09 +09:00
|
|
|
|
using XRLib;
|
|
|
|
|
|
using XRLib.UI;
|
2025-02-19 17:24:26 +09:00
|
|
|
|
|
|
|
|
|
|
[CustomEditor(typeof(PanelBase), true)]
|
|
|
|
|
|
public class PanelBaseEditor : Editor
|
|
|
|
|
|
{
|
|
|
|
|
|
PanelBase pb;
|
|
|
|
|
|
|
|
|
|
|
|
//1. pb transform<72><6D> child Button <20><><EFBFBD><EFBFBD> cbList <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//2. cbList<73><74> <20><>ȸ<EFBFBD>ϸ<EFBFBD> <20>ݺ<EFBFBD>
|
|
|
|
|
|
//2-1. childButton <20><> gameObject.name string <20><> '_' <20><><EFBFBD>ڷ<EFBFBD> Split
|
|
|
|
|
|
//2-2. Split<69><74> <20><><EFBFBD>ڿ<EFBFBD> <20>迭<EFBFBD><E8BFAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>迭<EFBFBD><E8BFAD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> cbName <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//2-3. cbName<6D><65> childButton <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TextMeshProUGUI<55><49> <20>ؽ<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
public void OnEnable()
|
|
|
|
|
|
{
|
|
|
|
|
|
//base.OnInspectorGUI();
|
|
|
|
|
|
pb = target as PanelBase;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public override void OnInspectorGUI()
|
|
|
|
|
|
{
|
|
|
|
|
|
base.OnInspectorGUI();
|
|
|
|
|
|
|
|
|
|
|
|
if (GUILayout.Button("Button Naming"))
|
|
|
|
|
|
{
|
|
|
|
|
|
ButtonNaming();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if(GUILayout.Button("Text Titleling"))
|
|
|
|
|
|
{
|
|
|
|
|
|
TextTitleling();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void TextTitleling()
|
|
|
|
|
|
{
|
|
|
|
|
|
//1. pb transform<72><6D> child Text <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
TextMeshProUGUI[] textList = pb.transform.GetComponentsInChildren<TextMeshProUGUI>();
|
|
|
|
|
|
|
|
|
|
|
|
//2. child Text<78><74> gameObject.name <20><> '_'<27><> Split
|
|
|
|
|
|
foreach (var text in textList)
|
|
|
|
|
|
{
|
|
|
|
|
|
string[] nameSplit = text.gameObject.name.Split('_');
|
|
|
|
|
|
|
|
|
|
|
|
//3. Split<69><74> <20><><EFBFBD>ڿ<EFBFBD> <20>迭<EFBFBD><E8BFAD><EFBFBD><EFBFBD> ù<><C3B9>° <20>迭<EFBFBD><E8BFAD> <20><><EFBFBD><EFBFBD> "Title" <20><> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
if (nameSplit[0] == "Title")
|
|
|
|
|
|
{
|
|
|
|
|
|
//4. <20>ش<EFBFBD> childText<78><74> Split<69><74> <20><><EFBFBD>ڿ<EFBFBD> <20>迭<EFBFBD><E8BFAD> <20>ι<EFBFBD>° <20>迭<EFBFBD><E8BFAD> <20>Է<EFBFBD>
|
|
|
|
|
|
text.text = nameSplit[1];
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void ButtonNaming()
|
|
|
|
|
|
{
|
|
|
|
|
|
//1. pb transform<72><6D> child Button <20><><EFBFBD><EFBFBD> cbList <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Button[] cbList = pb.transform.GetComponentsInChildren<Button>();
|
|
|
|
|
|
|
|
|
|
|
|
//2. cbList<73><74> <20><>ȸ<EFBFBD>ϸ<EFBFBD> <20>ݺ<EFBFBD>
|
|
|
|
|
|
foreach (var cb in cbList)
|
|
|
|
|
|
{
|
|
|
|
|
|
//2-1. childButton <20><> gameObject.name string <20><> '_' <20><><EFBFBD>ڷ<EFBFBD> Split
|
|
|
|
|
|
string[] nameSplit = cb.gameObject.name.Split('_');
|
|
|
|
|
|
|
|
|
|
|
|
//2-2. Split<69><74> <20><><EFBFBD>ڿ<EFBFBD> <20>迭<EFBFBD><E8BFAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>迭<EFBFBD><E8BFAD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> cbName <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
string cbName = nameSplit[nameSplit.Length - 1];
|
|
|
|
|
|
|
|
|
|
|
|
//2-3. cbName<6D><65> childButton <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TextMeshProUGUI<55><49> <20>ؽ<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
TextMeshProUGUI text = cb.GetComponentInChildren<TextMeshProUGUI>();
|
|
|
|
|
|
if (text != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
text.text = cbName;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|