57 lines
1.7 KiB
C#
57 lines
1.7 KiB
C#
// 文件位置: Assets/Scripts/TH1_UI/View/Announce/UIInteractionCityUpgradeItem.cs
|
||
|
||
using System;
|
||
using Logic.Action;
|
||
using TMPro;
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
// ✅ [新增] 引用 CommonActionId 的命名空间
|
||
|
||
namespace TH1_UI.View.Interaction
|
||
{
|
||
[RequireComponent(typeof(Button))]
|
||
public class UIInteractionCityUpgradeItem : MonoBehaviour
|
||
{
|
||
[Header("配置")]
|
||
[Tooltip("在Editor中设置此选项的唯一ID")]
|
||
// 🔄 [修改] 类型从 int 改为 CommonActionId,命名从 _choiceID 改为 _choiceId
|
||
[SerializeField] private CommonActionId _choiceId;
|
||
|
||
[Header("组件引用")]
|
||
public TextMeshProUGUI DescriptionText;
|
||
|
||
private Button _button;
|
||
// 🔄 [修改] Action的泛型参数改为 CommonActionId
|
||
private Action<CommonActionId> _onClickCallback;
|
||
|
||
// 🔄 [修改] 公共属性的类型和命名
|
||
public CommonActionId ChoiceId => _choiceId;
|
||
|
||
private void Awake()
|
||
{
|
||
_button = GetComponent<Button>();
|
||
_button.onClick.AddListener(HandleClick);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 初始化这个选项按钮
|
||
/// </summary>
|
||
// 🔄 [修改] 回调参数的类型改为 Action<CommonActionId>
|
||
public void Setup(Action<CommonActionId> onClickCallback)
|
||
{
|
||
_onClickCallback = onClickCallback;
|
||
}
|
||
|
||
private void HandleClick()
|
||
{
|
||
// 🔄 [修改] 调用回调时传入自身的 _choiceId
|
||
_onClickCallback?.Invoke(_choiceId);
|
||
}
|
||
|
||
|
||
private void OnDestroy()
|
||
{
|
||
_button.onClick.RemoveListener(HandleClick);
|
||
}
|
||
}
|
||
} |