private void setupNodesForModel(ModelSwitchData data)
{
//first check existing nodes and remove any that are not present in new model
int len = modelNodes.Length;
for (int i = 0; i < len; i++)
{
if (Array.Find(data.nodes, m => m.name == modelNodes[i].name) == null)//model data contains no def for node; disable it
{
modelNodes[i].disableNode();
}
}
//position all active nodes
len = data.nodes.Length;
ModelNode node;
ModelNodeData nodeData;
for (int i = 0; i < len; i++)
{
nodeData = data.nodes[i];
node = Array.Find(modelNodes, m => m.name == nodeData.name);
node.enableNode(nodeData, modelRoot);
}
}