Beispiel #1
0
        void InputsCountChanged()
        {
            //go though each input, if the old input existed update it if not create one
            //an then delete all the inputs in surplus
            List <InputVisual>  nInputVisuals  = new List <InputVisual>();
            List <List <Type> > noldInputTypes = new List <List <Type> >();

            for (int i = 0; i < node.inputs.Count; i++)
            {
                if (inputsVisuals.Length > i)
                {
                    //if there is and old input here
                    //update it
                    UpdateInput(i);
                    nInputVisuals.Add(inputsVisuals[i]);
                    noldInputTypes.Add(GetDataTypeOrAllowed(node.inputs[i]));
                }
                else
                {
                    //if there is not and old input here
                    //create input
                    InputVisual inp = CreateInputVisual(node.inputs[i], GetInputLabel(i));
                    inp.name = "input_" + i;

                    List <Type> dataType = GetDataTypeOrAllowed(node.inputs[i]);
                    inp.UpdateType();

                    PlaceInput(inp, i);
                    nInputVisuals.Add(inp);
                    noldInputTypes.Add(dataType);
                }
            }
            if (inputsVisuals.Length > node.inputs.Count)
            {
                //there is some input in surplus
                //delete them (the surplus)
                for (int i = node.inputs.Count; i < inputsVisuals.Length; i++)
                {
                    inputsVisuals[i].Disconnect();
                    Destroy(inputsVisuals[i].gameObject);
                }
            }
            //resize oldInputTypes and inputVisuals
            inputsVisuals = nInputVisuals.ToArray();
            oldInputTypes = noldInputTypes.ToArray();
        }
Beispiel #2
0
        void BuildInputs()
        {
            //Debug.Log("Building inputs for " + GetType());

            inputsVisuals = new InputVisual[node.inputs.Count];
            oldInputTypes = new List <Type> [inputsVisuals.Length];

            for (int i = 0; i < node.inputs.Count; i++)//inputs
            {
                InputVisual inp = CreateInputVisual(node.inputs[i], GetInputLabel(i));
                inp.name         = "input_" + i;
                inputsVisuals[i] = inp;

                List <Type> dataTypes = GetDataTypeOrAllowed(node.inputs[i]);
                inp.UpdateType();
                oldInputTypes[i] = dataTypes;
            }
            PlaceInputs();
        }