protected override string GetOutputForSlot(SlotReference fromSocketRef, ConcreteSlotValueType valueType, GenerationMode generationMode) { var slotRef = NodeUtils.DepthFirstCollectRedirectNodeFromNode(this); var fromLeftNode = owner.GetNodeFromGuid<AbstractMaterialNode>(slotRef.nodeGuid); if (fromLeftNode is RedirectNodeData) { return GetSlotValue(kInputSlotID, generationMode); } if (fromLeftNode != null) { return GenerationUtils.AdaptNodeOutput(fromLeftNode, slotRef.slotId, valueType); } return base.GetOutputForSlot(fromSocketRef, valueType, generationMode); }
protected internal override string GetOutputForSlot(SlotReference fromSocketRef, ConcreteSlotValueType valueType, GenerationMode generationMode) { var slotRef = NodeUtils.DepthFirstCollectRedirectNodeFromNode(this); var fromLeftNode = slotRef.node; if (fromLeftNode is RedirectNodeData) { return(GetSlotValue(kInputSlotID, generationMode)); } if (fromLeftNode != null) { return(GenerationUtils.AdaptNodeOutput(fromLeftNode, slotRef.slotId, valueType)); } return(base.GetOutputForSlot(fromSocketRef, valueType, generationMode)); }