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; }