public void SetNodeObject(Transform transform) { nodeObject = transform; if (nodeObject) { ho = nodeObject.gameObject.GetComponent <HideableObject>(); bs = nodeObject.gameObject.GetComponent <BuildingScript>(); } //if(nodeObject && !gameObject.activeSelf) gameObject.SetActive(true); //LateUpdate(); }
public void OnSceneGUI() { #if UNITY_EDITOR hideableObj = target as HideableObject; if (null == hideableObj) { return; } InitHideableFaces(); for (int index = 0; index < 6; index++) { var faceElement = hideableObj.hideableFaceList [index]; var size = HandleUtility.GetHandleSize(hideableObj.transform.position + faceElement.point); if (faceElement.hideable) { Handles.color = Color.green; if (Handles.Button(hideableObj.transform.position + faceElement.point, Quaternion.identity, handleSize, pickSize, Handles.SphereHandleCap)) { selectedIndex = index; faceElement.hideable = false; } } else { Handles.color = Color.red; if (Handles.Button(hideableObj.transform.position + faceElement.point, Quaternion.identity, handleSize, pickSize, Handles.CubeHandleCap)) { selectedIndex = index; faceElement.hideable = true; } } if (selectedIndex == index) { EditorGUI.BeginChangeCheck(); faceElement.point = Handles.DoPositionHandle(faceElement.point, Quaternion.identity); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(hideableObj, "Change Radius"); EditorUtility.SetDirty(hideableObj); } } } #endif }