Files
JJBB/Assets/Project/Script/GUI/Childs/ChildSkillDescItem.cs
2024-08-23 15:49:34 +08:00

78 lines
2.1 KiB
C#

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<int>
{
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);
}
}