using Logic.Action;
using Logic.Skill;
using RuntimeData;
using TH1_Logic.Action;
using TH1_UI.HintUI;
using TH1Resource;
using UI.HintUI;
using UnityEngine;
using UnityEngine.UI;
namespace TH1_UI.HintUI
{
///
/// HeroHintPanel 中的技能圆圈组件
///
public class HeroHintPanelCommonCircleMono : MonoBehaviour
{
public HintTrigger HintTrigger;
public Image SkillIcon;
public Image SkillIconBG;
private static Color DefaultActionBgColor =>
Table.Instance.SkillDataAssets.GetBGColor(SkillViewType.Normal, false);
///
/// 设置技能显示内容
///
public void SetContent(SkillType skillType, UnitFullType unitFullType)
{
if (!Table.Instance.SkillDataAssets.GetSkillInfo(skillType, out var info))
return;
// 设置技能图标
if (Table.Instance.SkillDataAssets.GetSkillIcon(skillType, unitFullType, out var spr))
SkillIcon.sprite = spr;
// 设置背景颜色
SkillIconBG.color = Table.Instance.SkillDataAssets.GetBGColor(info.SkillViewType, false);
// 设置 HintTrigger 数据
HintTrigger.DataProvider.HintDataType = HintDataType.SkillHintData;
HintTrigger.DataProvider.SkillTypeData = skillType;
HintTrigger.DataProvider.UnitFullType = unitFullType;
}
///
/// 设置 Action 显示内容
///
public void SetContent(CommonActionId actionId)
{
if (!Table.Instance.ActionDataAssets.GetActionInfo(actionId, out var actionInfo))
return;
// 设置 Action 图标
SkillIcon.sprite = actionInfo.Icon;
// Action 没有 SkillViewType,使用默认背景色
SkillIconBG.color = DefaultActionBgColor;
// 设置 HintTrigger 数据
HintTrigger.DataProvider.HintDataType = HintDataType.ActionHintData;
HintTrigger.DataProvider.ActionIdData = actionId;
HintTrigger.DataProvider.locked = false;
}
///
/// 重置内容
///
public void ResetContent()
{
SkillIcon.sprite = null;
SkillIconBG.color = DefaultActionBgColor;
HintTrigger.DataProvider.HintDataType = HintDataType.TextData;
HintTrigger.DataProvider.Text = "";
}
}
}