using SC.XR.Unity; using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEditor.UI; using UnityEngine; using UnityEngine.UI; using XRTool.Util; namespace XRTool.UI { [InitializeOnLoad] [CustomEditor(typeof(XRInputField))] public class XRInputFieldEditor : InputFieldEditor { [MenuItem("GameObject/XRUI/SCInputField", priority = 6)] static void Init() { var obj = Instantiate(Resources.Load(typeof(SCInputField).Name)); obj.name = (typeof(SCInputField).Name); if (obj) { var parent = Selection.activeGameObject; if (!parent) { var canvas = GameObject.FindObjectsOfType(typeof(Canvas)); if (canvas != null) { for (int i = 0; i < canvas.Length; i++) { if ((canvas[i] as Canvas).renderMode == RenderMode.WorldSpace) { parent = (canvas[i] as Canvas).gameObject; break; } } } } UnityUtil.SetParent(parent ? parent.transform : null, obj.transform); Selection.activeGameObject = obj.gameObject; if (!obj.textComponent) { obj.textComponent = UnityUtil.GetBreadthChild(obj.transform, "Text"); } if (!obj.placeholder) { obj.placeholder = UnityUtil.GetBreadthChild(obj.transform, "Placeholder"); } } } [MenuItem("GameObject/XRUI/XRInputField", priority = 6)] static void InitXRInputField() { var obj = Instantiate(Resources.Load(typeof(XRInputField).Name)); obj.name = (typeof(XRInputField).Name); if (obj) { var parent = Selection.activeGameObject; if (!parent) { var canvas = GameObject.FindObjectsOfType(typeof(Canvas)); if (canvas != null) { for (int i = 0; i < canvas.Length; i++) { if ((canvas[i] as Canvas).renderMode == RenderMode.WorldSpace) { parent = (canvas[i] as Canvas).gameObject; break; } } } } UnityUtil.SetParent(parent ? parent.transform : null, obj.transform); Selection.activeGameObject = obj.gameObject; if (!obj.textComponent) { obj.textComponent = UnityUtil.GetBreadthChild(obj.transform, "Text"); } if (!obj.placeholder) { obj.placeholder = UnityUtil.GetBreadthChild(obj.transform, "Placeholder"); } } } } }