61 lines
1.5 KiB
C#
61 lines
1.5 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|