using System; using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { [XLua.Hotfix] public class GodWeaponSkillBehaviour : MonoBehaviour { [SerializeField] Image m_SkillIcon; [SerializeField] Transform m_ContainerLock; [SerializeField] Text m_SkillCondition; [SerializeField] Button m_Func; [SerializeField] UIEffect m_Effect; GodWeaponConfig config = null; MagicianModel model { get { return ModelCenter.Instance.GetModel(); } } private void Awake() { m_Func.onClick.AddListener(OnFunc); } public void Display(GodWeaponConfig config) { this.config = config; var skillConfig = Config.Instance.Get(config.SkillID); m_Effect.StopImediatly(); if (config != null && skillConfig != null) { m_SkillIcon.SetSprite(skillConfig.IconName); m_SkillIcon.gameObject.SetActive(true); var active = PlayerDatas.Instance.skill.GetSKillById(skillConfig.SkillID) != null; m_ContainerLock.gameObject.SetActive(!active); m_SkillCondition.gameObject.SetActive(!active); m_SkillIcon.material = active ? MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial(); if (!active) { m_SkillCondition.text = Language.Get("L1091", config.Lv); } var effectId = 0; if (model.TryGetGodWeaponSkillEffect(config.SkillID, out effectId)) { m_Effect.effect = effectId; m_Effect.Play(); } } } private void OnFunc() { if (config != null) { string extra = StringUtility.Contact("", Language.Get("L1113", config.Name, config.Lv), ""); var skillConfig = Config.Instance.Get(config.SkillID); SkillDetails.ShowSkillDetails(config.SkillID, SkillDetails.SkillSourceType.MagicianSkill, skillConfig != null ? skillConfig.FightPower : 0, config.Name, extra); } } } }