37 lines
1.1 KiB
C#

using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class SettingGroup : MonoBehaviour
{
public List<BaseSettingView> settings;
[SerializeField] private TextMeshProUGUI _titleLabel;
[SerializeField] private RectTransform _contentVLG;
[SerializeField] private float _titleHeight;
public void Configure(SettingsGroupDTO data)
{
_titleLabel.text = data.Name;
settings = new();
foreach (var setting in data.Settings)
settings.Add( GenerateSetting(setting));
LayoutRebuilder.ForceRebuildLayoutImmediate(_contentVLG);
float _groupHeight = _contentVLG.sizeDelta.y - _contentVLG.anchoredPosition.y;
var rect = GetComponent<RectTransform>();
rect.sizeDelta = new Vector2(rect.sizeDelta.x, _groupHeight);
}
public BaseSettingView GenerateSetting(SettingDTO setting)
{
var settingPrefab = SettingViewsProvider.GetViewBySetting(setting);
var view = Instantiate(settingPrefab, _contentVLG);
view.Initialize(setting);
return view;
}
}