void OnGUI() { if (tex == null) { tex = AssetDatabase.LoadAssetAtPath <Texture>("Assets/AndreLibrary/Editor/BT_Lighter_Grey_Blue.jpg"); } GUI.DrawTexture(new Rect(0, 0, maxSize.x, maxSize.y), tex, ScaleMode.StretchToFill); GUILayout.BeginVertical("HelpBox"); GUILayout.Space(20); var style = new GUIStyle(GUI.skin.label) { alignment = TextAnchor.MiddleCenter }; GUILayout.Label("New Asset Name", style, GUILayout.ExpandWidth(true)); assetName = GUILayout.TextField(assetName); GUILayout.Space(2.5f); if (!string.IsNullOrEmpty(assetName) && !string.IsNullOrWhiteSpace(assetName) && assetName != AssetToUpdate.name) { if (AssetToUpdate.parent == null) { if (!AssetToUpdate.btParent.ContainsName(assetName)) { if (GUILayout.Button("Change Name")) { AssetToUpdate.ChangeName(assetName); this.Close(); } GUILayout.Space(11.5f); } } else { if (!AssetToUpdate.parent.ContainsName(assetName)) { if (GUILayout.Button("Change Name")) { AssetToUpdate.ChangeName(assetName); this.Close(); } GUILayout.Space(11.5f); } } } else { GUILayout.Space(32.5f); } GUILayout.EndVertical(); }
private float SideMenuChangeName(Rect square, Vector2 pos, GUIStyle defaultNodeStyle, float offset) { // lable float heightOffset = offset + 30; Vector2 size = new Vector2(60, 30); pos.x = square.x + (square.width / 2) - 30; pos.y = square.y + square.height - (square.height - heightOffset); Rect rect = new Rect(pos, size); GUI.Label(rect, "Change Node Name", defaultNodeStyle); // name texture field heightOffset = heightOffset + 20; size = new Vector2(140, 20); pos.x = square.x + (square.width / 2) - 70; pos.y = square.y + square.height - (square.height - heightOffset); rect = new Rect(pos, size); sideMenuAssetName = GUI.TextField(rect, sideMenuAssetName); // button heightOffset = heightOffset + 25; size = new Vector2(140, 20); pos.x = square.x + (square.width / 2) - 70; pos.y = square.y + square.height - (square.height - heightOffset); rect = new Rect(pos, size); if (GUI.Button(rect, "Change Name")) { if (!string.IsNullOrEmpty(sideMenuAssetName) && !string.IsNullOrWhiteSpace(sideMenuAssetName) && sideMenuAssetName != SideMenuAssetToUpdate.name) { if (SideMenuAssetToUpdate.parent == null) { if (!SideMenuAssetToUpdate.btParent.ContainsName(sideMenuAssetName)) { SideMenuAssetToUpdate.ChangeName(sideMenuAssetName); sideMenuAssetName = ""; } } else { if (!SideMenuAssetToUpdate.parent.ContainsName(sideMenuAssetName)) { SideMenuAssetToUpdate.ChangeName(sideMenuAssetName); sideMenuAssetName = ""; } } } } return(heightOffset); }
public override void OnInspectorGUI() { myTarget = (SO_Node)target; assetName = EditorGUILayout.TextField("New asset name: ", assetName); if (!string.IsNullOrEmpty(assetName) && !string.IsNullOrWhiteSpace(assetName) && assetName != myTarget.name) { if (GUILayout.Button("Change Name")) { myTarget.ChangeName(assetName); } } GUILayout.Space(20); //serializedObject.Update(); // EditorList.Show(serializedObject.FindProperty("m_nodes"), EditorListOption.ElementLabels | EditorListOption.Buttons); //serializedObject.ApplyModifiedProperties(); DrawDefaultInspector(); GUILayout.Space(20); if (myTarget.SwapableNodes) { tab = GUILayout.Toolbar(tab, new string[] { "Add", "Swap", "Remove" }); switch (tab) { case 0: op = (NODEOPTIONS)EditorGUILayout.EnumPopup("Node to create:", op); if (op != NODEOPTIONS.None) { name = EditorGUILayout.TextField("Node Name: ", name); if (!string.IsNullOrEmpty(name) && !string.IsNullOrWhiteSpace(name) && !myTarget.ContainsName(name)) { if (GUILayout.Button("Add Node")) { SO_Node node = GetNodeType(op, name); if (node != null) { myTarget.AddNode(node); } } } } break; case 1: if (!myTarget.NodeAdd) { return; } nodeAName = EditorGUILayout.TextField("Node A Name: ", nodeAName); nodeBName = EditorGUILayout.TextField("Node B Name: ", nodeBName); if ((!string.IsNullOrEmpty(nodeAName) && !string.IsNullOrWhiteSpace(nodeAName) && myTarget.ContainsName(nodeAName)) && (!string.IsNullOrEmpty(nodeBName) && !string.IsNullOrWhiteSpace(nodeBName) && myTarget.ContainsName(nodeBName))) { if (GUILayout.Button("Swap Nodes")) { myTarget.MoveNodePositions(nodeAName, nodeBName); } } break; case 2: name = EditorGUILayout.TextField("Node Name: ", name); if (!string.IsNullOrEmpty(name) && !string.IsNullOrWhiteSpace(name) && myTarget.ContainsName(name)) { if (GUILayout.Button("Remove Nodes")) { myTarget.RemoveNode(name); //AssetDatabase.Refresh(); // AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(myTarget), ImportAssetOptions.ForceUpdate); } } break; default: break; } } else { if (!myTarget.NodeAdd) { return; } tab = GUILayout.Toolbar(tab, new string[] { "Add", "Remove" }); switch (tab) { case 0: op = (NODEOPTIONS)EditorGUILayout.EnumPopup("Node to create:", op); if (op != NODEOPTIONS.None) { name = EditorGUILayout.TextField("Node Name: ", name); if (!string.IsNullOrEmpty(name) && !string.IsNullOrWhiteSpace(name) && !myTarget.ContainsName(name)) { if (GUILayout.Button("Add Node")) { SO_Node node = GetNodeType(op, name); if (node != null) { myTarget.AddNode(node); } } } } break; case 1: name = EditorGUILayout.TextField("Node Name: ", name); if (!string.IsNullOrEmpty(name) && !string.IsNullOrWhiteSpace(name) && myTarget.ContainsName(name)) { if (GUILayout.Button("Remove Nodes")) { myTarget.RemoveNode(name); AssetDatabase.Refresh(); AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(myTarget), ImportAssetOptions.ForceUpdate); } } break; default: break; } } }