private RouteNode CustomListItem(Rect position, RouteNode itemValue) { Rect iPos = new Rect(position.xMin, position.yMin, position.width - 33, position.height); itemValue = EditorGUI.ObjectField(iPos, itemValue, typeof(RouteNode), true) as RouteNode; GUIContent buttonContent = new GUIContent("+", "Insert new node here."); Rect bPos = new Rect(position.xMax - 30, position.yMin, 30, position.height); bool pressed = GUI.Button(bPos, buttonContent); if (pressed) { Route r = this.target as Route; int thisIndex = r.Nodes.IndexOf(itemValue); r.AddNewNode(thisIndex + 1); } pressed = false; return(itemValue); }
private void DrawToolShelf(Route route) { var iconAddNode = Resources.Load("UI/Route Builder/Buttons/routebuilder_button_new_node") as Texture; var iconParent = Resources.Load("UI/Route Builder/Buttons/routebuilder_button_parent") as Texture; Rotorz.Games.Collections.ReorderableListGUI.Title("Tools"); EditorGUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); // Add node button if (FoxKitUiUtils.ToolButton(iconAddNode, "Add a new node to the end of the route.")) { route.AddNewNode(); } // Select parent button if (FoxKitUiUtils.ToolButton(iconParent, "Select parent RouteSet.")) { UnitySceneUtils.Select(route.transform.parent.gameObject); } GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); }