//在这里方法中就可以绘制面板。 public override void OnInspectorGUI() { //得到Test对象 XOCp_MarkIntermediate hdl = (XOCp_MarkIntermediate)target; EditorGUILayout.BeginVertical(); hdl.goOrigin = EditorGUILayout.ObjectField(hdl.goOrigin, typeof(UnityEngine.GameObject), true) as UnityEngine.GameObject; // hdl.bShowOrigin = EditorGUILayout.Toggle("Show Origin", hdl.bShowOrigin); // XOCp_OptimizerHandler omi = XOGloble.Root.GetComponent<XOCp_OptimizerHandler>(); // if(hdl.bShowOrigin == true) // { // if(omi.p2O.ContainsKey(hdl.OriginInstID) == true) // { // OriginItermedia datainfo = omi.p2O[hdl.OriginInstID]; // if(datainfo != null) // { // if(datainfo.origin != null) // { // XOUtil.Display(datainfo.origin, true); // } // if(datainfo.Iterm != null) // { // XOUtil.Display(datainfo.Iterm, false); // } // } // } // } // else // { // if(omi.p2O.ContainsKey(hdl.OriginInstID) == true) // { // OriginItermedia datainfo = omi.p2O[hdl.OriginInstID]; // if(datainfo != null) // { // if(datainfo.origin != null) // { // XOUtil.Display(datainfo.origin, false); // } // if(datainfo.Iterm != null) // { // XOUtil.Display(datainfo.Iterm, true); // } // } // } // } EditorGUILayout.EndVertical(); }
public static UnityEngine.GameObject NewIterM(UnityEngine.GameObject origin) { UnityEngine.GameObject backobj = UnityEngine.GameObject.Instantiate(origin, origin.transform.position, origin.transform.rotation) as UnityEngine.GameObject; backobj.transform.parent = XOGloble.IterM.transform; backobj.transform.localScale = origin.transform.lossyScale; backobj.name = XOUtil.Path(origin); XOCp_MarkIntermediate mi = backobj.AddComponent <XOCp_MarkIntermediate>(); mi.OriginInstID = origin.GetInstanceID(); mi.goOrigin = origin; backobj.SetActive(true); XOCp_OptimizerHandler xoh = XOGloble.Root.GetComponent <XOCp_OptimizerHandler>(); if (xoh != null) { xoh.AddObjLstByShaderMaterial(backobj); } XOUtil.Display(backobj, false); return(backobj); }