public override void TryGetOutputValue <T>(NodePort outputPort, NodePort inputPort, ref T value) { if (inputPorts.Count == 0) { return; } var inputPortEdges = inputPorts[0].GetEdges(); if (outputPort.portData.identifier != packIdentifier && (unpackOutput || inputPortEdges.Count == 1)) { if (output.values == null) { return; } int inputPortIndexInOutputPortEdge = outputPort.GetEdges().FindIndex(edge => edge.inputPort == inputPort); if (output.values[inputPortIndexInOutputPortEdge] is T finalValue) { value = finalValue; } } else { if (output is T finalValue) { value = finalValue; } } }
public override void TryGetOutputValue <T>(NodePort outputPort, NodePort inputPort, ref T value) { int inputPortIndexInOutputPortEdge = outputPort.GetEdges().FindIndex(edge => edge.inputPort == inputPort); if (outputRadians[inputPortIndexInOutputPortEdge] is T finalValue) { value = finalValue; } }
public override void TryGetOutputValue <T>(NodePort outputPort, NodePort inputPort, ref T value) { //出端口所有连线对应端口中,目标入端口所对应的index int inputPortIndexInOutputPortEdge = outputPort.GetEdges().FindIndex(edge => edge.inputPort == inputPort); if (outputs[inputPortIndexInOutputPortEdge] is T finalValue) { value = finalValue; } }