//...
        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);
        }
示例#2
0
 protected override void OnNodeGUI()
 {
     GUILayout.Label(ReflectionTools.FriendlyTypeName(_missingType).FormatError());
 }