37 lines
1.1 KiB
C#
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;
|
|
}
|
|
}
|