public bool IsCompatibleWith(LogicSlot otherLogicSlot) { return(otherLogicSlot != null && otherLogicSlot.Owner != Owner && otherLogicSlot.isInputSlot != isInputSlot && ((isInputSlot ? otherLogicSlot.IsCompatibleWithInputSlotType(ValueType) : IsCompatibleWithInputSlotType(otherLogicSlot.ValueType)))); }
private void GetSlots(Edge edge, out LogicSlot leftLogicSlot, out LogicSlot rightLogicSlot) { leftLogicSlot = (edge.output as LogicPort).Slot; rightLogicSlot = (edge.input as LogicPort).Slot; if (leftLogicSlot == null || rightLogicSlot == null) { Debug.Log("an edge is null"); } }
public void AddSlot(LogicSlot logicSlot) { if (!(logicSlot is LogicSlot)) { throw new ArgumentException(string.Format( "Trying to add slot {0} to Material node {1}, but it is not a {2}", logicSlot, this, typeof(LogicSlot))); } _slots.Add(logicSlot); }
public void AddEdge(LogicSlot leftLogicSlot, LogicSlot rightLogicSlot) { SerializedEdge serializedEdge = new SerializedEdge { SourceNodeGuid = leftLogicSlot.Owner.NodeGuid, SourceMemberName = leftLogicSlot.MemberName, TargetNodeGuid = rightLogicSlot.Owner.NodeGuid, TargetMemberName = rightLogicSlot.MemberName }; _logicGraphEditorObject.LogicGraphData.SerializedEdges.Add(serializedEdge); AddEdge(serializedEdge); }
public static Port Create(LogicSlot logicSlot, IEdgeConnectorListener connectorListener) { var port = new LogicPort(Orientation.Horizontal, logicSlot.isInputSlot ? Direction.Input : Direction.Output, logicSlot.isInputSlot ? Capacity.Single : Capacity.Multi, null) { m_EdgeConnector = new EdgeConnector <Edge>(connectorListener), }; port.AddManipulator(port.m_EdgeConnector); port.Slot = logicSlot; return(port); }
public PortInputView(LogicSlot description) { this.LoadAndAddStyleSheet("Styles/PortInputView"); pickingMode = PickingMode.Ignore; ClearClassList(); _description = description; _valueType = description.ValueType; AddToClassList("type" + _valueType); _edgeControl = new EdgeControl { @from = new Vector2(212f - 21f, 11.5f), to = new Vector2(212f, 11.5f), edgeWidth = 2, pickingMode = PickingMode.Ignore }; Add(_edgeControl); _container = new VisualElement { name = "container" }; { _control = this.Description.InstantiateControl(); if (_control != null) { _container.Add(_control); } var slotElement = new VisualElement { name = "slot" }; { slotElement.Add(new VisualElement { name = "dot" }); } _container.Add(slotElement); } Add(_container); _container.visible = _edgeControl.visible = _control != null; }
public void UpdateSlot(LogicSlot newLogicSlot) { _description = newLogicSlot; Recreate(); }