using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using GCGame.Table; using UnityEngine.Events; using System; using UnityEngine.EventSystems; public class ChildSkillDescItem : MonoBehaviour, IPointerDownHandler{ [Serializable] public class ChildSkillItemClick : UnityEvent { public ChildSkillItemClick() { } } [SerializeField] public ChildSkillItemClick _ClickEvent; public Image _SkillIcon; public Text _SkillLevel; public GameObject _Mark; [HideInInspector] public static int _CurSkillExId; [HideInInspector] public int m_CurSkillType; //当前技能类型\ [HideInInspector] public int _CurSkillType { get { return m_CurSkillType; } private set { m_CurSkillType = value; } } public void InitSkillDescItem(int skillId, int level = 0) { _CurSkillExId = skillId; _SkillLevel.text = level + ""; var childrenSkillParamTab = TableManager.GetChildrenSkillParamByID(skillId, 0); if(childrenSkillParamTab == null) { Debug.LogError("ChildrenSkillParamTab is null : " + skillId); return; } _CurSkillType = childrenSkillParamTab.Type; var skillExTab = TableManager.GetSkillExByID(skillId, 0); if(skillExTab == null) { Debug.LogError("skillExTab is null : " + _CurSkillExId); return; } var skillBaseTab = TableManager.GetSkillBaseByID(skillExTab.BaseId, 0); if(skillBaseTab == null) { Debug.LogError("SkillBaseTab is null : " + skillExTab.BaseId); return; } LoadAssetBundle.Instance.SetImageSprite(_SkillIcon, skillBaseTab.Icon); } public void ShowMark(bool isShow) { if(_Mark) _Mark.SetActive(isShow); else _Mark.SetActive(false); } public void OnPointerDown(PointerEventData eventData) { if (_ClickEvent != null) _ClickEvent.Invoke(_CurSkillType); } }