示例#1
0
 public void AdapterConnectionValueUpdated(AdapterGroup.AdapterConnection connection, int value)
 {
     if (connection != null)
     {
         connection.count = value;
     }
 }
示例#2
0
    public NodePortGfx Setup(NodeGfx master, AdapterGroup adapterGroup, AdapterGroup.AdapterConnection connection, int value)
    {
        myMaster       = master;
        myAdapterGroup = adapterGroup;
        myConnection   = connection;

        myRend = GetComponentInChildren <UILineRenderer>();
        ConnectionInProgressShowObject.SetActive(false);
        myRend.enabled = false;
        pathActive     = false;
        myRend.Points  = new Vector2[resolution + 1];

        if (myAdapterGroup.type >= 0 && myAdapterGroup.type < myMaster.myViewer.PortColors.Length)
        {
            colorChangeImage.color = myMaster.myViewer.PortColors[myAdapterGroup.type];
            myRend.color           = myMaster.myViewer.lineColors[myAdapterGroup.type];
        }
        else
        {
            colorChangeImage.color = Color.white;
            myRend.color           = Color.white;
        }

        if (myRegion)
        {
            myRegion.SetUp(
                ValueRegion.type.port,
                adapterGroup.myType == AdapterGroup.AdapterType.counted,
                adapterGroup.isLeftAdapter ? "Ingredient" : "Result",
                null, this, value);
        }

        return(this);
    }
示例#3
0
    public void RemoveConnection(AdapterGroup sourceAdapterGroup, AdapterGroup.AdapterConnection sourceConnection)
    {
        // TODO: Add functionality to disconnect nodes from different recipe sets
        var sourceNode = GetNodeWithId(sourceAdapterGroup.parentNodeId);
        var otherNode  = GetNodeWithId(sourceConnection.nodeId);

        AdapterGroup otherAdapterGroup = null;

        foreach (var adapterGroup in otherNode.myAdapters)
        {
            if (CanConnectAdapters(sourceAdapterGroup, adapterGroup))
            {
                otherAdapterGroup = adapterGroup;
                break;
            }
        }

        AdapterGroup.AdapterConnection otherConnection = null;
        foreach (var connection in otherAdapterGroup.connections)
        {
            if (connection.nodeId == sourceNode.id)
            {
                otherConnection = connection;
                break;
            }
        }

        sourceAdapterGroup.connections.Remove(sourceConnection);
        otherAdapterGroup.connections.Remove(otherConnection);
    }