Beispiel #1
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);
    }
 public override void PoolRecycle()
 {
     base.PoolRecycle();
     ToggleLeft  = null;
     ToggleRight = null;
 }