//... void DoVariableGUI(Variable data, int index, bool isPicked) { if (data is MissingVariableType) { var missingVariableType = (MissingVariableType)data; GUILayout.Label(data.name, Styles.leftLabel, layoutOptions); GUILayout.Label(ReflectionTools.FriendlyTypeName(missingVariableType.missingType).FormatError(), Styles.leftLabel, layoutOptions); return; } //Don't allow name edits in play mode. Instead show just a label if (Application.isPlaying) { if (data.varType != typeof(VariableSeperator)) { GUILayout.Label(data.name, Styles.leftLabel, layoutOptions); } else { GUI.color = Color.yellow; GUILayout.Label(string.Format("<b>{0}</b>", data.name.ToUpper()), Styles.leftLabel, layoutOptions); GUI.color = Color.white; } ShowDataFieldGUI(data, index); return; } //store picks if (isPicked && data.varType != typeof(VariableSeperator)) { pickedVariable = data; pickedVariableBlackboard = bb; } //Make name field red if same name exists if (tempVariablesList.Where(v => v != data).Select(v => v.name).Contains(data.name)) { GUI.color = Color.red; } ShowDataLabelGUI(data, index); ShowDataFieldGUI(data, index); }
protected override void OnNodeGUI() { GUILayout.Label(ReflectionTools.FriendlyTypeName(_missingType).FormatError()); }