private PropertyFormRow GeneralizeRow(CardPropertyFormRowType type, string labelKey, UnityAction <string> onValueChange, out UnityAction <string, bool> setValue, List <string> dropdownOptionList = null, UnityAction <string> onButtonClick = null)
    {
        PropertyFormRow cpfr = BaseInitialize(type, BonusContainer, labelKey, onValueChange, out setValue, dropdownOptionList, onButtonClick);

        My_BonusGroupPropertyForm.Add(cpfr);
        return(cpfr);
    }
Esempio n. 2
0
    public static PropertyFormRow BaseInitialize(CardPropertyFormRowType type, Transform parent, string labelStrKey, UnityAction <string> onValueChangeAction, out UnityAction <string, bool> setValue, List <string> dropdownOptionList = null, UnityAction <string> onButtonClick = null)
    {
        PropertyFormRow res = null;

        switch (type)
        {
        case CardPropertyFormRowType.InputField:
        {
            PropertyFormRow_InputField row = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.PropertyFormRow_InputField].AllocateGameObject <PropertyFormRow_InputField>(parent);
            row.Initialize(labelStrKey, onValueChangeAction: onValueChangeAction, setValue: out setValue, onButtonClick: onButtonClick);
            res = row;
            break;
        }

        case CardPropertyFormRowType.Dropdown:
        {
            PropertyFormRow_Dropdown row = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.PropertyFormRow_Dropdown].AllocateGameObject <PropertyFormRow_Dropdown>(parent);
            row.Initialize(labelStrKey, onValueChangeAction: onValueChangeAction, setValue: out setValue, dropdownOptionList: dropdownOptionList, onButtonClick: onButtonClick);
            res = row;
            break;
        }

        case CardPropertyFormRowType.Toggle:
        {
            PropertyFormRow_Toggle row = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.PropertyFormRow_Toggle].AllocateGameObject <PropertyFormRow_Toggle>(parent);
            row.Initialize(labelStrKey, onValueChangeAction: onValueChangeAction, setValue: out setValue, onButtonClick: onButtonClick);
            res = row;
            break;
        }

        case CardPropertyFormRowType.TwoToggle:
        {
            PropertyFormRow_TwoToggleRow row = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.PropertyFormRow_TwoToggleRow].AllocateGameObject <PropertyFormRow_TwoToggleRow>(parent);
            row.Initialize(labelStrKey, null, out setValue);
            res = row;
            break;
        }

        default:
        {
            setValue = null;
            break;
        }
        }

        return(res);
    }