Skip to content

[In] and [Out]

CoffeeVampir3 edited this page Apr 4, 2021 · 7 revisions

In and Out are what tells your Value Port how to exist. They accomplish exactly the same goal, except for what direction the port goes in.

    public In(bool showBackingValue = false, Capacity portCapacity = Capacity.Single, ConnectionRules rules = ConnectionRules.Exact)
    public Out(bool showBackingValue = false, Capacity portCapacity = Capacity.Single, ConnectionRules rules = ConnectionRules.Exact)

Here you see your options, showBackingValue instructs the layout whether or not to display the backing value. What is the backing value? It's this thing:

Backing Value Example

You can see in this node example, the input value port does not have it's backing value shown but the output port does.

Capacity, you have two options. Capacity.Single or Capacity.Multi. Single means your port can link to one and only one other port. Multi means it can link all over the place.

You can also set the Connection rules of a port, note that the strictest rule will always be choosen (IE if you have one port which is None and one port is Inherited then it will use the inherited rule to see if a valid connection can be made.) Exact means that the types must exactly match. Inherited means the ports can connect to either the target type or types deriving from it. Finally none is well, no rules bruh.

    public enum Capacity
    {
        Single,
        Multi
    }
    public enum Direction
    {
        Input,
        Output
    }
    public enum ConnectionRules
    {
        Exact,
        Inherited,
        None
    }