54 lines
1.3 KiB
C#
54 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
namespace GeometryTD.UI
|
|
{
|
|
public class CombatSelectFuncArea : MonoBehaviour
|
|
{
|
|
[SerializeField] private TowerSelectItem _upgradeItem;
|
|
|
|
[SerializeField] private TowerSelectItem _destroyItem;
|
|
|
|
public void OnInit(TowerSelectItemContext upgradeItemContext, TowerSelectItemContext destroyItemContext)
|
|
{
|
|
RefreshItem(_upgradeItem, upgradeItemContext);
|
|
RefreshItem(_destroyItem, destroyItemContext);
|
|
}
|
|
|
|
public void OnReset()
|
|
{
|
|
ResetItem(_upgradeItem);
|
|
ResetItem(_destroyItem);
|
|
}
|
|
|
|
private static void RefreshItem(TowerSelectItem item, TowerSelectItemContext context)
|
|
{
|
|
if (item == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
bool isVisible = context != null && context.IsVisible;
|
|
item.gameObject.SetActive(isVisible);
|
|
if (isVisible)
|
|
{
|
|
item.OnInit(context);
|
|
}
|
|
else
|
|
{
|
|
item.OnReset();
|
|
}
|
|
}
|
|
|
|
private static void ResetItem(TowerSelectItem item)
|
|
{
|
|
if (item == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
item.OnReset();
|
|
item.gameObject.SetActive(false);
|
|
}
|
|
}
|
|
}
|