示例#1
0
 public static void __hx_ctor_core_slot_Slot(global::core.slot.Slot __hx_this)
 {
     unchecked {
         __hx_this.slotId = -1;
         __hx_this.Initialize(-1, global::core.slot.SlotType.ExecutionIn);
     }
 }
示例#2
0
        public virtual void DeserializeFromJson(string json)
        {
            object obj = new global::haxe.format.JsonParser(((string)(json))).parseRec();

            this.type   = global::haxe.lang.Runtime.toString(global::haxe.lang.Runtime.getField(obj, "type", 1292432058, true));
            this.name   = global::haxe.lang.Runtime.toString(global::haxe.lang.Runtime.getField(obj, "name", 1224700491, true));
            this.nodeId = ((int)(global::haxe.lang.Runtime.getField_f(obj, "nodeId", 656559741, true)));
            global::Array <object> slots = ((global::Array <object>)(global::Array <object> .__hx_cast <object>(((global::Array)(global::haxe.lang.Runtime.getField(obj, "slots", 2127323317, true))))));
            {
                int _g = 0;
                while ((_g < slots.length))
                {
                    string item = global::haxe.lang.Runtime.toString(slots[_g]);
                    ++_g;
                    global::core.slot.Slot slotObj = new global::core.slot.Slot();
                    slotObj.DeserializeFromJson(item);
                    ((global::haxe.ds.IntMap <object>)(global::haxe.ds.IntMap <object> .__hx_cast <object>(((global::haxe.ds.IntMap)(((global::haxe.IMap <int, object>)(this._slots))))))).@set(slotObj.slotId, slotObj);
                }
            }

            global::Array <object> datumMap = ((global::Array <object>)(global::Array <object> .__hx_cast <object>(((global::Array)(global::haxe.lang.Runtime.getField(obj, "datums", 580141348, true))))));
            {
                int _g1 = 0;
                while ((_g1 < datumMap.length))
                {
                    string item1 = global::haxe.lang.Runtime.toString(datumMap[_g1]);
                    ++_g1;
                    object             data     = new global::haxe.format.JsonParser(((string)(item1))).parseRec();
                    global::core.Datum datumObj = new global::core.Datum();
                    datumObj.DeserializeFromJson(global::haxe.lang.Runtime.toString(global::haxe.lang.Runtime.getField(data, "datum", 1418207343, true)));
                    ((global::haxe.ds.IntMap <object>)(global::haxe.ds.IntMap <object> .__hx_cast <object>(((global::haxe.ds.IntMap)(((global::haxe.IMap <int, object>)(this._datumMap))))))).@set(((int)(global::haxe.lang.Runtime.getField_f(data, "slotId", 1946687865, true))), datumObj);
                }
            }
        }
示例#3
0
        public virtual void SignalOutput(int slotId)
        {
            bool executionCheckRequired = false;

            if ((slotId > 0))
            {
                global::core.slot.Slot slot = ((global::core.slot.Slot)((((global::haxe.ds.IntMap <object>)(global::haxe.ds.IntMap <object> .__hx_cast <object>(((global::haxe.ds.IntMap)(((global::haxe.IMap <int, object>)(this._slots))))))).@get(slotId)).@value));
                if ((slot != null))
                {
                    global::graph.EndPoint curEndpoint = new global::graph.EndPoint(new global::haxe.lang.Null <int>(this.nodeId, true), new global::haxe.lang.Null <int>(slotId, true));
                    global::Array <object> endpoints   = this.owner.GetConnectedEndpoints(curEndpoint);
                    {
                        int _g = 0;
                        while ((_g < endpoints.length))
                        {
                            global::graph.EndPoint endpoint = ((global::graph.EndPoint)(endpoints[_g]));
                            ++_g;
                            global::core.node.Node nextNode = this.owner.FindNode(endpoint.nodeId);
                            if ((nextNode != null))
                            {
                                this.owner.AddToExecutionStack(endpoint);
                                executionCheckRequired = true;
                            }
                        }
                    }
                }
            }

            if (executionCheckRequired)
            {
                this.owner.Execute();
            }
        }
示例#4
0
 public static void main()
 {
     unchecked {
         global::core.slot.Slot dataSlotIn = new global::core.slot.Slot();
         dataSlotIn.Initialize(1, global::core.slot.SlotType.DataIn);
         global::core.slot.Slot actionSlotIn = new global::core.slot.Slot();
         actionSlotIn.Initialize(2, global::core.slot.SlotType.ExecutionIn);
         global::core.slot.Slot dataSlotOut = new global::core.slot.Slot();
         dataSlotOut.Initialize(3, global::core.slot.SlotType.DataOut);
         global::core.slot.Slot actionSlotOut = new global::core.slot.Slot();
         actionSlotOut.Initialize(4, global::core.slot.SlotType.ExecutionOut);
         global::core.node.Node actionNode = new global::core.node.Node();
         actionNode.Initialize(new global::haxe.lang.Null <int>(1, true), "First Node", "Action Node");
         actionNode.AddSlot(actionSlotOut);
         actionNode.AddSlot(dataSlotIn);
         actionNode.AddSlot(actionSlotIn);
         global::core.node.Node dataNode = new global::core.node.Node();
         dataNode.Initialize(new global::haxe.lang.Null <int>(2, true), "Second Node", "Data Node");
         dataNode.AddSlot(dataSlotOut);
         global::core.node.Node node3 = new global::core.node.Node();
         node3.Initialize(new global::haxe.lang.Null <int>(3, true), "Third Node", "Action Node");
         node3.AddSlot(dataSlotIn);
         node3.AddSlot(actionSlotOut);
         node3.AddSlot(actionSlotIn);
         global::core.node.Node node4 = new global::core.node.Node();
         node4.Initialize(new global::haxe.lang.Null <int>(4, true), "Forth Node", "Action Node");
         node4.AddSlot(actionSlotIn);
         global::graph.Graph graph1 = new global::graph.Graph(((string)("testGraphData")));
         graph1.AddNode(actionNode);
         graph1.AddNode(dataNode);
         graph1.AddNode(node3);
         graph1.AddNode(node4);
         global::graph.EndPoint ep1 = new global::graph.EndPoint(new global::haxe.lang.Null <int>(actionNode.nodeId, true), new global::haxe.lang.Null <int>(actionSlotOut.slotId, true));
         global::graph.EndPoint ep2 = new global::graph.EndPoint(new global::haxe.lang.Null <int>(dataNode.nodeId, true), new global::haxe.lang.Null <int>(dataSlotOut.slotId, true));
         global::graph.EndPoint ep3 = new global::graph.EndPoint(new global::haxe.lang.Null <int>(node3.nodeId, true), new global::haxe.lang.Null <int>(actionSlotIn.slotId, true));
         global::graph.EndPoint ep4 = new global::graph.EndPoint(new global::haxe.lang.Null <int>(node3.nodeId, true), new global::haxe.lang.Null <int>(dataSlotIn.slotId, true));
         global::graph.EndPoint ep5 = new global::graph.EndPoint(new global::haxe.lang.Null <int>(node3.nodeId, true), new global::haxe.lang.Null <int>(actionSlotOut.slotId, true));
         global::graph.EndPoint ep6 = new global::graph.EndPoint(new global::haxe.lang.Null <int>(node4.nodeId, true), new global::haxe.lang.Null <int>(actionSlotIn.slotId, true));
         graph1.AddRelation(ep1, new global::Array <object>(new object[] { ep3 }));
         graph1.AddRelation(ep2, new global::Array <object>(new object[] { ep4 }));
         graph1.AddRelation(ep5, new global::Array <object>(new object[] { ep6 }));
         string str = graph1.SerializeToJson();
         global::haxe.Log.trace.__hx_invoke2_o(default(double), str, default(double), new global::haxe.lang.DynamicObject(new int[] { 302979532, 1547539107, 1648581351 }, new object[] { "main", "Entry", "Entry.hx" }, new int[] { 1981972957 }, new double[] { ((double)(151)) }));
     }
 }
示例#5
0
 public virtual void AddSlot(global::core.slot.Slot slot)
 {
     ((global::haxe.ds.IntMap <object>)(global::haxe.ds.IntMap <object> .__hx_cast <object>(((global::haxe.ds.IntMap)(((global::haxe.IMap <int, object>)(this._slots))))))).@set(slot.slotId, slot);
 }