private void SetComponentForParameter() { List <SubNodeParameter> subNodeParameters = new List <SubNodeParameter>(); foreach (Parameter p in this.node.parameters) { //Number if (p.type == ParameterType.number) { NumberParameter pram = p as NumberParameter; var compo = NumberComponent.Instantiate(MainViweModel.instance.NumberComponentPrefab, contentsObject, pram); componentList.Add(compo); } //sentence if (p.type == ParameterType.sentence) { SentenceParameter pram = p as SentenceParameter; var compo = SentenceComponent.Instantiate(MainViweModel.instance.SentenceComponentPrefab, contentsObject, pram); componentList.Add(compo); } //dropdown if (p.type == ParameterType.dropdown) { DropdownParameter pram = p as DropdownParameter; var compo = DropdownComponent.Instantiate(MainViweModel.instance.DropdownComponentPrefab, contentsObject, pram); componentList.Add(compo); } //nodes if (p.type == ParameterType.nodes) { NodesParameter pram = p as NodesParameter; var compo = SubNodeListComponent.Instantiate(MainViweModel.instance.SubNodeListComponentPrefab, contentsObject, pram.list, this); componentList.Add(compo); if (pram.Title != null) { compo.title.text = pram.Title; } } //subNodeList if (p.type == ParameterType.subNode) { subNodeParameters.Add(p as SubNodeParameter); } } if (subNodeParameters.Count != 0) { var compo = SubNodeListComponent.Instantiate(MainViweModel.instance.SubNodeListComponentPrefab, contentsObject, subNodeParameters, this); componentList.Add(compo); } }