public void SetSmartItemParameters(SmartItemParameter[] parameters) { for (int i = 0; i < childrenList.Count; i++) { Destroy(childrenList[i]); } gameObject.SetActive(true); foreach (SmartItemParameter parameter in parameters) { SmartItemUIParameterAdapter prefabToInstantiate = null; switch (parameter.type) { case "boolean": prefabToInstantiate = booleanParameterPrefab; break; case "text": prefabToInstantiate = textParameterPrefab; break; case "textarea": prefabToInstantiate = textAreaParameterPrefab; break; case "float": prefabToInstantiate = floatParameterPrefab; break; case "integer": prefabToInstantiate = integerParameterPrefab; break; case "slider": prefabToInstantiate = sliderParameterPrefab; break; case "options": prefabToInstantiate = optionsParameterPrefab; break; case "entity": prefabToInstantiate = entityParameterPrefab; break; case "actions": prefabToInstantiate = actionParameterPrefab; break; default: Debug.Log("This parameter doesn't exists!"); break; } InstantiateParameter(parameter, prefabToInstantiate); } }
void InstantiateParameter(SmartItemParameter parameter, SmartItemUIParameterAdapter parameterAdapterPrefab) { SmartItemUIParameterAdapter parameterAdapter = Instantiate(parameterAdapterPrefab.gameObject, transform).GetComponent <SmartItemUIParameterAdapter>(); parameterAdapter.SetEntityList(entitiesList); parameterAdapter.SetParameter(parameter); childrenList.Add(parameterAdapter.gameObject); }
void InstantiateParameter(SmartItemParameter parameter, Dictionary <object, object> smartItemValues, SmartItemUIParameterAdapter parameterAdapterPrefab) { SmartItemUIParameterAdapter parameterAdapter = Instantiate(parameterAdapterPrefab.gameObject, transform).GetComponent <SmartItemUIParameterAdapter>(); IEntityListHandler entityListHanlder = parameterAdapter.GetComponent <IEntityListHandler>(); if (entityListHanlder != null) { entityListHanlder.SetEntityList(entitiesList); } parameterAdapter.SetParameter(parameter, smartItemValues); childrenList.Add(parameterAdapter.gameObject); }
public void SetSmartItemParameters(SmartItemParameter[] parameters, Dictionary <object, object> smartItemValues) { for (int i = 0; i < childrenList.Count; i++) { Destroy(childrenList[i]); } gameObject.SetActive(true); foreach (SmartItemParameter parameter in parameters) { SmartItemUIParameterAdapter prefabToInstantiate = factory.GetPrefab(parameter.GetParameterType()); InstantiateParameter(parameter, smartItemValues, prefabToInstantiate); } }
public SmartItemUIParameterAdapter GetPrefab(SmartItemParameter.ParameterType type) { SmartItemUIParameterAdapter adapter = entries.FirstOrDefault(x => x.type == type)?.prefab; return(adapter); }