void OnGUI() { if (list == null || list.Equals(null)) { Close(); return; } XGUI.ResetToStyle(null); XGUI.BeginVertical(); XGUI.ResetToStyle(GUI.skin.textField); XGUI.LabelWidth = 40; varName = XGUI.TextField("Name", varName); typeStr = XGUI.TextField("Type", typeStr); XGUI.ResetToStyle(null); XGUI.BeginHorizontal(); XGUI.ResetToStyle(GUI.skin.button); if (XGUI.Button("Cancel")) { Close(); return; } XGUI.Enabled = IsValid(); if (XGUI.Button("Create")) { var value = new DynamicValue(); value.TypeString = typeStr; list.list.Add(new Variable(varName, value)); editor.SaveList(); Close(); return; } XGUI.EndHorizontal(); if (!IsNameValid()) { EditorGUILayout.HelpBox( "Variable name is empty!", MessageType.Warning); } else if (!IsNameUnique()) { EditorGUILayout.HelpBox( "Variable name is the same as an existing variable!", MessageType.Warning); } else if (!IsTypeValid()) { EditorGUILayout.HelpBox( "Variable type does not exist!", MessageType.Warning); } XGUI.EndVertical(); }