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);
    }
示例#3
0
    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);
    }
示例#4
0
    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);
    }