private void AddCrateButton() { if (GUILayout.Button("Crate")) { _target.createPositionalObjects = true; } if (_target.createPositionalObjects) { SpawnDataOfLevel_InspectorWindow.Open(_target.data); var PositionalObjectsExists = GameObject.Find("PositionalObjects (Temporary)"); if (PositionalObjectsExists == null) { selectedObject = Selection.activeGameObject; if (_target.autoLockInspector) { ActiveEditorTracker.sharedTracker.isLocked = true; } var spawnPoints = _serializedObject.FindProperty("spawnPoints"); var parent = new GameObject("PositionalObjects (Temporary)"); parent.transform.parent = _target.gameObject.transform; for (var i = 0; i < spawnPoints.arraySize; i++) { var realPoint = spawnPoints.GetArrayElementAtIndex(i); var point = new GameObject(realPoint.displayName); point.transform.parent = parent.transform; point.transform.position = realPoint.FindPropertyRelative("spawnPointTransform").vector3Value; point.transform.localScale /= 2; var labelComp = point.AddComponent <DrawPointLabel>(); labelComp.labelText = realPoint.displayName; labelComp.labelStyle = _target.labelStyle; labelComp.labelOffset = _target.labelVerticalOffset; var rendererComp = point.AddComponent <MeshRenderer>(); rendererComp.material = _target.positionItemMaterial; var meshComp = point.AddComponent <MeshFilter>(); meshComp.mesh = _target.positionItemMesh; var updaterComp = point.AddComponent <AutoUpdatePointPosition>(); updaterComp.positionName = realPoint.displayName; #if UNITY_EDITOR updaterComp.spawnPointTransform = _serializedObject; #endif updaterComp.pointPosition = point.transform.position; SelectObject(point); } } } _target.createPositionalObjects = false; }
private void OpenEditor() { if (!GUILayout.Button("Open Spawn Data Editor")) { return; } SpawnDataOfLevel_InspectorWindow.Open(_target.data); }
public static bool OpenEditor(int instanceId, int line) { var obj = EditorUtility.InstanceIDToObject(instanceId) as LevelSpawnData; if (obj != null) { SpawnDataOfLevel_InspectorWindow.Open(obj); } return(false); }
public override void OnInspectorGUI() { if (GUILayout.Button("Open Editor")) { SpawnDataOfLevel_InspectorWindow.Open((LevelSpawnData)target); } if (GUILayout.Button("Toggle Default Inspector")) { showInspector = !showInspector; } if (showInspector) { base.OnInspectorGUI(); } }