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 = ""; } } }