public override void OnGUI(GUIContent label)
        {
            base.OnGUI(label);
            ICZType c = Value as ICZType;

            c.SetValue(EditorGUILayoutExtension.DrawField(label, c.ValueType, c.GetValue()));
        }
 public bool AddData_BB(string _name, ICZType _data)
 {
     if (blackboard.SetData(_name, _data))
     {
         onBlackboardDataAdded?.Invoke(_name, _data);
         return(true);
     }
     return(false);
 }
Exemple #3
0
 public bool TryGetData(string _name, out ICZType _data)
 {
     if (dataMap.TryGetValue(_name, out _data) || _data == null)
     {
         dataMap.Remove(_name);
         return(false);
     }
     return(true);
 }
Exemple #4
0
 public bool SetData(string _name, ICZType _data)
 {
     if (ContainsName(_name))
     {
         return(false);
     }
     dataMap[_name] = _data;
     return(true);
 }
Exemple #5
0
        public static ICZType GetNew(Type _rt)
        {
            ICZType t = null;

            if (TypeCreator.TryGetValue(_rt, out Func <ICZType> _creator))
            {
                t = _creator();
            }
            return(t);
        }
Exemple #6
0
        public bool TryGetData(string _name, out ICZType _data)
        {
            _data = null;
            if (!guidMap.TryGetValue(_name, out string guid))
            {
                return(false);
            }
            if (!dataMap.TryGetValue(guid, out ICZType data))
            {
                return(false);
            }

            _data = data;
            return(true);
        }
Exemple #7
0
        public bool SetData(string _name, ICZType _data)
        {
            if (ContainsName(_name))
            {
                return(false);
            }

            if (!guidMap.TryGetValue(_name, out string guid))
            {
                guidMap[_name] = guid = Guid.NewGuid().ToString();
            }

            dataMap[guid] = _data;
            return(true);
        }
Exemple #8
0
        public void AddFieldView(string _name, ICZType _data)
        {
            BlackboardField blackboardField = new BlackboardField()
            {
                text = _name, typeText = _data.ValueType.Name, userData = _data
            };

            blackboardField.RegisterCallback <MouseEnterEvent>(evt =>
            {
                GraphView.nodes.ForEach(node =>
                {
                    if (node is ParameterNodeView parameterNodeView && parameterNodeView.T_Model.Name == blackboardField.text)
                    {
                        parameterNodeView.HighlightOn();
                    }
                });
            });

            blackboardField.RegisterCallback <MouseLeaveEvent>(evt =>
            {
                GraphView.nodes.ForEach(node =>
                {
                    if (node is ParameterNodeView parameterNodeView && parameterNodeView.T_Model.Name == blackboardField.text)
                    {
                        parameterNodeView.HighlightOff();
                    }
                });
            });
            BindableElement fieldDrawer = UIElementsFactory.CreateField("", _data.ValueType, _data.GetValue(), _newValue =>
            {
                _data.SetValue(_newValue);
                if (_data.GetValue() != null)
                {
                    blackboardField.typeText = _data.ValueType.Name;
                }
            });
            BlackboardRow blackboardRow = new BlackboardRow(blackboardField, fieldDrawer);

            contentContainer.Add(blackboardRow);
            fields[_name] = blackboardRow;
        }
 public bool TryGetData_BB(string _name, out ICZType _data)
 {
     return(blackboard.TryGetData(_name, out _data));
 }
Exemple #10
0
 void OnBlackboardDataAdded(string _dataName, ICZType _data)
 {
     AddFieldView(_dataName, _data);
     GraphView.SetDirty();
 }