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); } }
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); } } }
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(); } }
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)) })); } }
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); }