Quantcast
Channel: Questions in topic: "error"
Viewing all articles
Browse latest Browse all 7934

Editor Window - GUI Error You are pushing more GUIClips than you are popping.

$
0
0
I know this may be an extremely simple solution where every BeginHorizontal or BeginVertical must have a paired EndHorizontal or EndVertical... But for some reason Im overlooking it in my code! Can anyone spot the issue in mine? using UnityEngine; using UnityEditor; using System.Collections; using System.Collections.Generic; public class BuildingBluePrints : EditorWindow { [MenuItem("Hospital Tycoon/Buildings Manager")] static void Init() { EditorWindow.GetWindow(typeof(BuildingBluePrints)); //ensure that there is a Building asset to populate otherwise make it object buildingDatabase = Resources.Load("BuildingDatabase"); if (buildingDatabase == null) { buildingEditorList = CreateBuildingDatabase.createBuildingDatabase(); } else { buildingEditorList = (BuildingDatabaseList)Resources.Load("BuildingDatabase"); } } //bool showBulidingDatabase; public int toolbarInt = 0; public string[] toolbarStrings = new string[] { "Create Building", "Manage Building" }; static BuildingDatabaseList buildingEditorList = null; List manageBuildings = new List(); Vector2 scrollPosition; BuildingDatabaseList buildingDatabase; bool showItem; void addItem() //add new item to the itemdatabase { EditorUtility.SetDirty(buildingEditorList); //message scriptable object for incoming changes Building newItem = new Building(); //create a empty mask of an item newItem.buildName = "New Item"; //set the name as "new Item" buildingEditorList.buildingList.Add(newItem); //and add this to the itemdatabase EditorUtility.SetDirty(buildingEditorList); //message scriptable object that you added something } void OnGUI() { GUILayout.Label("Manage your Buildable Blueprints here"); EditorGUILayout.BeginVertical("Box"); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); toolbarInt = GUILayout.Toolbar(toolbarInt, toolbarStrings, GUILayout.Width(position.width - 18)); GUILayout.EndHorizontal(); scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); GUILayout.Space(10); if (toolbarInt == 0) //if equal 0 than it is "Create Item" { //GUI.color = Color.green; if (GUILayout.Button("Add Item", GUILayout.Width(position.width - 23))) { addItem(); showItem = true; } if (showItem) { GUI.color = Color.white; GUILayout.BeginVertical("Box", GUILayout.Width(position.width - 23)); try { buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildName = EditorGUILayout.TextField("Item Name", buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildName, GUILayout.Width(position.width - 30)); //textfield for the itemname which you wanna create buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildID = buildingEditorList.buildingList.Count - 1; //itemID getting set automaticly ...its unique...better do not change it :D GUILayout.BeginHorizontal(); GUILayout.Label("Item Description"); //label ItemDescription GUILayout.Space(47); buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildDesc = EditorGUILayout.TextArea(buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildDesc, GUILayout.Width(position.width - 180), GUILayout.Height(70)); //Text area for the itemDesc GUILayout.EndHorizontal(); buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildIcon = (Sprite)EditorGUILayout.ObjectField("Item Icon", buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildIcon, typeof(Sprite), false, GUILayout.Width(position.width - 33)); //objectfield for the itemicon for your new item buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildModel = (GameObject)EditorGUILayout.ObjectField("Item Model", buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildModel, typeof(GameObject), false, GUILayout.Width(position.width - 33)); //objectfield for the itemmodel for your new item //buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildType = (BuildType)EditorGUILayout.EnumPopup("Item Type", buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildType, GUILayout.Width(position.width - 33)); //the itemtype which you want to have can be selected with the enumpopup buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildCost = EditorGUILayout.IntField("Build Cost", buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].buildCost, GUILayout.Width(position.width - 33)); ////buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].rarity = EditorGUILayout.IntSlider("Rarity", buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].rarity, 0, 100); //can be used for successrate? GUILayout.EndVertical(); buildingEditorList.buildingList[buildingEditorList.buildingList.Count - 1].indexItemInList = 999; } catch { } EditorGUILayout.EndScrollView(); GUILayout.EndVertical(); } } } }

Viewing all articles
Browse latest Browse all 7934

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>