Exemplo n.º 1
0
        void CreateFunctionCallNode(INodeGraph bp, int functionID)
        {
            IFunction function = FunctionManager.Instance.GetFunctionByID(functionID);

            Assert.IsNotNull(function);
            bp.ngNodeManager.AddNode(function.GetNewFunctionCall(bp));
        }
Exemplo n.º 2
0
        public BoolOperationNode(INodeGraph bp) : base(bp)
        {
            m_ObjectOC.Text = "Result".PadLeft(9);

            Style.AddStyle(StyleManager.StyleType.TitleBar, m_TitleBarColor);
            Style.AddStyle(StyleManager.StyleType.Pin, m_PinColor);
        }
Exemplo n.º 3
0
        public FlowControlNode(INodeGraph bp) : base(bp)
        {
            m_ExecIC.Text = "";
            AddComponet(m_TextTitleBar);
            AddComponet(m_ExecIC);

            Style.AddStyle(StyleManager.StyleType.TitleBar, m_TitleBarColor);
        }
Exemplo n.º 4
0
        public FunctionReturnNode(INodeGraph bp, IFunction function) : base(bp)
        {
            m_Function = function;

            AddComponet(m_TextTitleBar);
            AddComponet(m_ExecIC);

            Style.AddStyle(StyleManager.StyleType.TitleBar, m_TitleBarColor);
        }
Exemplo n.º 5
0
        public override ComNodeBase GetNewFunctionCall(INodeGraph bluePrint)
        {
            Assert.IsNotNull(m_FunctionGraph);

            FunctionCallNode callNode = new FunctionCallNode(bluePrint, this);

            m_CallNodes.Add(callNode);
            return(callNode);
        }
Exemplo n.º 6
0
        public PrintNode(INodeGraph bp) : base(bp)
        {
            m_ObjectIC.Text = "Object";

            AddComponet(m_TextTitleBar);
            AddComponet(m_ExecIC);
            AddComponet(m_ExecOC);
            AddComponet(m_ObjectIC);
        }
Exemplo n.º 7
0
        //Function Node Interface
        public override ComNodeBase GetNewFunctionEntry(INodeGraph bluePrint)
        {
            Assert.IsNotNull(m_FunctionGraph);

            FunctionEntryNode entryNode = new FunctionEntryNode(bluePrint, this);

            m_EntryNodes.Add(entryNode);
            return(entryNode);
        }
Exemplo n.º 8
0
        public FieldNode(INodeGraph bp) : base(bp)
        {
            m_TargetIC.OnSetTargetType += new TargetIC.TypeHandler(OnTargetTypeSet);
            m_FieldCombo.OnSelected    += new ComboSC.SelectAction(OnFieldSelected);

            AddComponet(m_TextTitleBar);
            AddComponet(m_FieldCombo);
            AddComponet(m_TargetIC);
            AddComponet(m_ObjectOC);
        }
Exemplo n.º 9
0
        unsafe void OnFunctionDragDrop(INodeGraph bp)
        {
            ImGuiPayloadPtr pPayload = ImGui.AcceptDragDropPayload("FUNCTION_DRAG");

            if (pPayload.NativePtr != null)
            {
                int fucntionID = *(int *)pPayload.Data;
                CreateFunctionCallNode(bp, fucntionID);
            }
        }
Exemplo n.º 10
0
        public NOTNode(INodeGraph bp) : base(bp)
        {
            m_TextTitleBar.Title = "NOT";
            m_ObjectIC_Left.Text = "In";
            m_ObjectOC.Text      = "Out";

            AddComponet(m_TextTitleBar);
            AddComponet(m_ObjectIC_Left);
            AddComponet(m_ObjectOC);

            Style.AddStyle(StyleManager.StyleType.Pin, m_PinColor);
        }
Exemplo n.º 11
0
        public TypeofNode(INodeGraph bp) : base(bp)
        {
            m_Class = classList.Values[0];

            m_NodeTypeOutput        = new TypeOC(m_Class.type);
            m_NodeCombo             = new ComboSC(classList.Keys);
            m_NodeCombo.OnSelected += new ComboSC.SelectAction(OnClassTypeSelected);

            AddComponet(m_TextTitleBar);
            AddComponet(m_NodeCombo);
            AddComponet(m_NodeTypeOutput);
        }
Exemplo n.º 12
0
        public FunctionEntryNode(INodeGraph ng, IFunction function) : base(ng)
        {
            m_Function     = function;
            m_ExecOC.Text  = "";
            m_TextTitleBar = new diObjectTB(function);

            AddComponet(m_TextTitleBar);
            AddComponet(m_ExecOC);

            Style.AddStyle(StyleManager.StyleType.TitleBar, m_TitleBarColor);

            function.OutputParams.ExecuteForEachParam(OnAddOutputParam);
        }
Exemplo n.º 13
0
        public void AddNodeBetween(INodeGraph nodeGraph, INode left, INode right, INode newNode)
        {
            nodeGraph.ngNodeManager.AddNode(newNode, false);

            //if (nodeGraph.O)
            {
                //Set Position
                Vector2 lPos   = nodeGraph.ngNodeManager.GetNodeEditorPostion(left);
                Vector2 rPos   = nodeGraph.ngNodeManager.GetNodeEditorPostion(right);
                Vector2 newPos = new Vector2((lPos.x + rPos.x) * 0.5f, (lPos.y + rPos.y) * 0.5f);

                nodeGraph.ngNodeManager.SetNodeEditorPostion(newNode, newPos);
            }
        }
Exemplo n.º 14
0
 public void TryAddConvertNdoe(INodeGraph nodeGraph, INodeInput inCom, INodeOutput outCom, Type outValueType)
 {
     foreach (var nodePair in ConvertNdoeDict)
     {
         AConvertNode aConvert = (AConvertNode)nodePair.Value;
         if (aConvert.ConvertType.Equals(AcceptType))
         {
             IConvertNode convertNode = (IConvertNode)ClassTools.CallConstructor(nodePair.Key, nodeGraph);
             AddNodeBetween(nodeGraph, inCom.ParentNode, outCom.ParentNode, convertNode);
             convertNode.InputConnect(outCom);
             convertNode.OutputConnect(inCom);
         }
     }
 }
Exemplo n.º 15
0
        unsafe void OnVarDragDrop(INodeGraph bp)
        {
            ImGuiPayloadPtr pPayload = ImGui.AcceptDragDropPayload("VAR_DRAG");

            if (pPayload.NativePtr == null)
            {
                return;
            }

            int varID = *(int *)pPayload.Data;

            m_PopupVarGetSet.Show(varID, OnSelectVarGetSet);
            Logger.Info("Var Drop. ID:" + varID);
        }
Exemplo n.º 16
0
        public bool Process(INodeGraph nodeGraph, INodeInput inCom, INodeOutput outCom)
        {
            Type outValueType = (Type)outCom.Request(ERequest.InstanceType);

            if (outValueType.Equals(AcceptType))
            {
                return(true);
            }
            else
            {
                Logger.Info(outValueType.Name + " need convert to: " + AcceptType.Name);
                TryAddConvertNdoe(nodeGraph, inCom, outCom, outValueType);
                return(false);
            }
        }
Exemplo n.º 17
0
        public SequenceNode(INodeGraph bp) : base(bp)
        {
            m_TextTitleBar.Title = "Sequence";

            m_ExecOC_List.Add(NewOutPin());
            m_ExecOC_List.Add(NewOutPin());

            foreach (ExecOC oc in m_ExecOC_List)
            {
                AddComponet(oc);
            }

            Style.AddStyle(StyleManager.StyleType.Pin, m_Color);
            Style.AddStyle(StyleManager.StyleType.Link, m_Color);
        }
Exemplo n.º 18
0
        public FunctionCallNode(INodeGraph ng, IFunction function) : base(ng)
        {
            m_TextTitleBar = new diObjectTB(function);

            m_Function           = function;
            m_TextTitleBar.Title = function.Name;
            m_ExecIC.Text        = "";
            m_ExecOC.Text        = "";

            AddComponet(m_TextTitleBar);
            AddExecComponent();

            function.InputParams.ExecuteForEachParam(OnAddInputParam);
            function.OutputParams.ExecuteForEachParam(OnAddOutputParam);
        }
Exemplo n.º 19
0
        public ForLoopWithBreakNode(INodeGraph bp) : base(bp)
        {
            m_TextTitleBar.Title    = "For Loop with Break";
            m_ExecOC_LoopBody.Text  = "Loop Body".PadLeft(35);
            m_ExecOC_Completed.Text = "Completed".PadLeft(15);
            m_FristIndex.Text       = "Frist Index";
            m_Index.Text            = "Index".PadLeft(10);
            m_LastIndex.Text        = "Last Index";
            m_ExecIC_Break.Text     = "Break";

            AddComponet(m_ExecOC_LoopBody);
            AddComponet(m_FristIndex);
            AddComponet(m_Index);
            AddComponet(m_LastIndex);
            AddComponet(m_ExecOC_Completed);
            AddComponet(m_ExecIC_Break);
        }
Exemplo n.º 20
0
        public ForEachLoopNode(INodeGraph bp) : base(bp)
        {
            m_TextTitleBar.Title    = "For Each Loop";
            m_ExecIC.Text           = "".PadRight(12);
            m_ExecOC_LoopBody.Text  = "Loop Body".PadLeft(12);
            m_Array.Text            = "Array".PadRight(12);
            m_ArrayElement.Text     = "Array Element".PadLeft(12);
            m_ArrayIndex.Text       = "Array Index".PadLeft(24);
            m_ExecOC_Completed.Text = "Completed".PadLeft(24);

            AddComponet(m_ExecOC_LoopBody);
            AddComponet(m_Array);
            AddComponet(m_ArrayElement);
            AddComponet(m_ArrayIndex);
            AddComponet(m_ExecOC_Completed);

            Reset();
        }
Exemplo n.º 21
0
        public MethodNode(INodeGraph bp, MethodInfo method) : base(bp)
        {
            if (method == null)
            {
                return;
            }
            m_Method             = method;
            m_TextTitleBar.Title = method.Name;

            AddComponet(m_TextTitleBar);
            AddComponet(m_ExecIC);
            AddComponet(m_ExecOC);
            AddComponet(m_TargetIC);

            //if (method.ReturnType.IsValueType)
            //{
            m_ObjectOC.ObjectType = method.ReturnType;
            AddComponet(m_ObjectOC);
            //}
        }
Exemplo n.º 22
0
 protected ArithmeticNode(INodeGraph bp) : base(bp)
 {
 }
Exemplo n.º 23
0
 public MutiplyNode(INodeGraph bp) : base(bp)
 {
     m_TextTitleBar.Title = "×";
     AddBaseComponet();
 }
Exemplo n.º 24
0
 public ToIntNode(INodeGraph bp) : base(bp)
 {
 }
Exemplo n.º 25
0
 public ToFloatNode(INodeGraph bp) : base(bp)
 {
 }
Exemplo n.º 26
0
 public IConvertNode(INodeGraph bp) : base(bp)
 {
 }
Exemplo n.º 27
0
 public ToBoolNode(INodeGraph bp) : base(bp)
 {
 }
Exemplo n.º 28
0
 public ConvertNode(INodeGraph bp) : base(bp)
 {
     AddBaseComponet();
 }
Exemplo n.º 29
0
 public ToDoubleNode(INodeGraph bp) : base(bp)
 {
 }
Exemplo n.º 30
0
 public DivisionNode(INodeGraph bp) : base(bp)
 {
     m_TextTitleBar.Title = "/";
     AddBaseComponet();
 }