Пример #1
0
        public void ShowDefinedBBVariablesGUI()
        {
            var varInfo = new Dictionary <string, BBVarInfo>();

            foreach (KeyValuePair <BBVariable, object> pair in GetDefinedBBVariables())
            {
                if (!varInfo.ContainsKey(pair.Key.dataName))
                {
                    varInfo[pair.Key.dataName] = new BBVarInfo();
                }
                varInfo[pair.Key.dataName].type    = pair.Key.varType;
                varInfo[pair.Key.dataName].dynamic = pair.Key.isDynamic;
                varInfo[pair.Key.dataName].count++;
                varInfo[pair.Key.dataName].objects.Add(pair.Value);
            }

            EditorUtils.BoldSeparator();
            EditorUtils.CoolLabel("Defined Parameters");
            EditorUtils.Separator();

            GUILayout.BeginHorizontal();
            GUILayout.BeginVertical(GUILayout.MaxWidth(100), GUILayout.ExpandWidth(true));
            GUI.color = Color.yellow;
            GUILayout.Label("Name");
            GUI.color = Color.white;
            foreach (KeyValuePair <string, BBVarInfo> pair in varInfo)
            {
                GUILayout.Label(string.Format(pair.Value.dynamic? "<i>{0}</i>" : "{0}", pair.Key));
            }
            GUILayout.EndVertical();

            GUILayout.BeginVertical(GUILayout.MaxWidth(100), GUILayout.ExpandWidth(true));
            GUI.color = Color.yellow;
            GUILayout.Label("Type");
            GUI.color = Color.white;
            foreach (KeyValuePair <string, BBVarInfo> pair in varInfo)
            {
                GUILayout.Label(EditorUtils.TypeName(pair.Value.type));
            }
            GUILayout.EndVertical();

            GUILayout.BeginVertical(GUILayout.MaxWidth(100), GUILayout.ExpandWidth(true));
            GUI.color = Color.yellow;
            GUILayout.Label("Occurencies");
            GUI.color = Color.white;
            foreach (KeyValuePair <string, BBVarInfo> pair in varInfo)
            {
                GUILayout.Label(pair.Value.count.ToString());
            }
            GUILayout.EndVertical();
            GUILayout.EndHorizontal();
        }
Пример #2
0
        public void ShowNestedConditionsGUI()
        {
            if (conditions.Count == 1)
            {
                currentViewCondition = conditions[0] as ConditionTask;
            }

            if (currentViewCondition)
            {
                EditorUtils.BoldSeparator();
                currentViewCondition.ShowInspectorGUI();
            }
        }
Пример #3
0
        public void ShowNestedActionsGUI()
        {
            if (actions.Count == 1)
            {
                currentViewAction = actions[0] as ActionTask;
            }

            if (currentViewAction != null)
            {
                EditorUtils.BoldSeparator();
                currentViewAction.ShowInspectorGUI();
            }
        }
Пример #4
0
        public void ShowConnectionInspectorGUI()
        {
            GUILayout.BeginHorizontal();
            GUI.color = new Color(1, 1, 1, 0.5f);

            if (GUILayout.Button("<", GUILayout.Height(14), GUILayout.Width(20)))
            {
                Graph.currentSelection = sourceNode;
            }

            if (GUILayout.Button(">", GUILayout.Height(14), GUILayout.Width(20)))
            {
                Graph.currentSelection = targetNode;
            }

            GUILayout.FlexibleSpace();

            if (GUILayout.Button("X", GUILayout.Height(14), GUILayout.Width(20)))
            {
                Graph.PostGUI += delegate { graph.RemoveConnection(this); };
                return;
            }

            GUI.color = Color.white;
            GUILayout.EndHorizontal();

            Undo.RecordObject(this, "Connection Value Change");

            GUILayout.BeginHorizontal();
            isActive            = EditorGUILayout.ToggleLeft("ACTIVE", isActive, GUILayout.Width(150));
            isVirtualConnection = EditorGUILayout.ToggleLeft("Shortcut", isVirtualConnection);
            GUILayout.EndHorizontal();

            EditorUtils.BoldSeparator();
            OnConnectionInspectorGUI();

            if (GUI.changed)
            {
                EditorUtility.SetDirty(this);
            }
        }