using UnityEngine; namespace GeometryTD.UI { public class CombatSelectBuildArea : MonoBehaviour { [SerializeField] private TowerSelectItem[] _towerBuildItems; public void OnInit(TowerSelectItemContext[] itemContexts) { if (_towerBuildItems == null) { return; } for (int i = 0; i < _towerBuildItems.Length; i++) { TowerSelectItem item = _towerBuildItems[i]; if (item == null) { continue; } TowerSelectItemContext itemContext = itemContexts != null && i < itemContexts.Length ? itemContexts[i] : null; bool isVisible = itemContext != null && itemContext.IsVisible; item.gameObject.SetActive(isVisible); if (isVisible) { item.OnInit(itemContext); } else { item.OnReset(); } } } public void OnReset() { if (_towerBuildItems == null) { return; } for (int i = 0; i < _towerBuildItems.Length; i++) { TowerSelectItem item = _towerBuildItems[i]; if (item == null) { continue; } item.OnReset(); item.gameObject.SetActive(false); } } } }