public void UpdateInputs() { SortIns(); for (int i = 0; i < groupIns.Count; i++) { if (inputs.Count > i) { //update current input MultiDataInput inp = (MultiDataInput)inputs[i]; GroupInputNode node = (GroupInputNode)groupIns[i].node; if (!inp.GetAllowedDataTypes().Contains(node.dataType)) { inp.SetAllowedDataTypes(new List <Type>(new Type[] { node.dataType })); } } else { //create new input GroupInputNode node = (GroupInputNode)groupIns[i].node; MultiDataInput inp = new MultiDataInput(this, new List <Type>(new Type[] { node.dataType })); inputs.Add(inp); } } //supprime les autres inputs while (inputs.Count > groupIns.Count) { inputs.RemoveAt(groupIns.Count); } }