| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | using System.Collections;using System.Collections.Generic;using UnityEngine;using GraphProcessor;using System.Linq;[System.Serializable, NodeMenuItem("Custom/PortData")]public class CustomPortData : BaseNode{	[Input(name = "In Values", allowMultiple = true)]	public IEnumerable< object >	inputs = null;	static PortData[] portDatas = new PortData[] {		new PortData{displayName = "0", displayType = typeof(float), identifier = "0"},		new PortData{displayName = "1", displayType = typeof(int), identifier = "1"},		new PortData{displayName = "2", displayType = typeof(GameObject), identifier = "2"},		new PortData{displayName = "3", displayType = typeof(Texture2D), identifier = "3"},	};	[Output]	public float				output;	public override string		name => "Port Data";	protected override void Process()	{		output = 0;		if (inputs == null)			return ;		foreach (float input in inputs)			output += input;	}	[CustomPortBehavior(nameof(inputs))]	IEnumerable< PortData > GetPortsForInputs(List< SerializableEdge > edges)	{		PortData pd = new PortData();		foreach (var portData in portDatas)		{            yield return portData;		}	}	[CustomPortInput(nameof(inputs), typeof(float), allowCast = true)]	public void GetInputs(List< SerializableEdge > edges)	{		// inputs = edges.Select(e => (float)e.passThroughBuffer);	}}
 |