Ejemplo n.º 1
0
 public EditorNodeElement(INode so, EditorActionNode node)
 {
     _so       = so;
     _node     = node;
     _typeInfo = NodeTypeInfo.GetNodeTypeInfo(so.GetType());
     CreateFieldElement();
 }
Ejemplo n.º 2
0
        public virtual void InputDraw(EditorActionNode node, ScriptableObject asset)
        {
            var nodeTypeInfo = NodeTypeInfo.GetNodeTypeInfo(asset.GetType());
            List <NodeTypeInfo.IOInfo> list = new List <NodeTypeInfo.IOInfo>();

            list.AddRange(nodeTypeInfo.Inputs);
            list.AddRange(nodeTypeInfo.BTInputs);

            foreach (var inputInfo in list)
            {
                if (inputInfo.Mode == NodeTypeInfo.IOMode.BTInput)
                {
                    Port.Capacity capacity = Port.Capacity.Single;
                    var           portIn   = node.InstantiatePort(Orientation.Vertical, Direction.Input, capacity, null);
                    portIn.portColor        = NodeTypeInfo.IOModeColor(inputInfo.Mode);
                    portIn.portName         = string.Empty;
                    portIn.source           = inputInfo;
                    portIn.style.paddingTop = 2;
                    node.titleContainer.Add(portIn);
                    node.titleContainer.style.justifyContent = Justify.FlexStart;
                    node.titleButtonContainer.style.display  = DisplayStyle.None;
                }
                else
                {
                    Port.Capacity capacity = Port.Capacity.Multi;
                    var           portIn   = node.InstantiatePort(Orientation.Horizontal, Direction.Input, capacity, null);
                    portIn.portColor = NodeTypeInfo.IOModeColor(inputInfo.Mode);
                    portIn.portName  = inputInfo.GetName();
                    portIn.source    = inputInfo;
                    node.inputContainer.Add(portIn);
                }
            }
        }
Ejemplo n.º 3
0
 public EditorNodeElement(SerializedProperty so, EditorActionNode node)
 {
     _so       = so;
     _node     = node;
     _typeInfo = NodeTypeInfo.GetNodeTypeInfo(so.GetValueType());
     CreateFieldElement();
 }
Ejemplo n.º 4
0
 public virtual void Create(EditorActionNode node, INode asset)
 {
     //  node.Q(name: "selection-border").Add(new Label("aaa"));
     InputDraw(node, asset);
     OutputDraw(node, asset);
     ExtensionDraw(node, asset);
     node.RefreshExpandedState();
 }
Ejemplo n.º 5
0
        public virtual void OutputDraw(EditorActionNode node, INode asset)
        {
            var nodeTypeInfo = NodeTypeInfo.GetNodeTypeInfo(asset.GetType());

            for (int i = 0; i < nodeTypeInfo.Outputs.Count; i++)
            {
                var outputInfo = nodeTypeInfo.Outputs[i];

                Port.Capacity capacity = (outputInfo.Mode == NodeTypeInfo.IOMode.BTOutput) ? Port.Capacity.Single : Port.Capacity.Multi;
                var           port     = node.InstantiatePort(Orientation.Horizontal, Direction.Output, capacity, null);
                port.portName  = outputInfo.GetName();
                port.source    = outputInfo;
                port.portColor = NodeTypeInfo.IOModeColor(outputInfo.Mode);
                node.outputContainer.Add(port);
            }
        }
Ejemplo n.º 6
0
        public NodeArrayField(SerializedProperty so, string bindingPath, NodeTypeInfo.FieldInfo fieldInfo, EditorActionNode node)
        {
            var elementType = fieldInfo.FieldType.GetElementType();

            _so = so;
            this.bindingPath = bindingPath;
            _sp                     = _so.FindPropertyRelative(bindingPath);
            _elementType            = elementType;
            _fieldInfo              = fieldInfo;
            _node                   = node;
            node.EdgeChangeHandler += EdgeChangeHandler;

            _content = new VisualElement();
            _content.AddToClassList("node-array-content");
            DrawList(_content);
            Add(_content);

            //Add(new Button(buttonClick));
        }
Ejemplo n.º 7
0
        public virtual void ExtensionDraw(EditorActionNode node, INode asset)
        {
            var elem = new EditorNodeElement(asset, node);

            node.mainContainer.Add(elem);
        }
Ejemplo n.º 8
0
 public virtual void DoubleClick(EditorActionNode node, INode asset)
 {
 }
Ejemplo n.º 9
0
 public virtual void DoubleClick(EditorActionNode node, ScriptableObject asset)
 {
 }
 public virtual void DoubleClick(EditorActionNode node, SerializedProperty asset)
 {
 }