//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, June 28, 2019 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class PeerlessChestTipWin : Window { [SerializeField] Button m_Close1; [SerializeField] Button m_Close2; [SerializeField] ItemWidget m_ItemGroup; [SerializeField] SpiritWeaponWidget m_SpiritWeaponGroup; #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Close1.AddListener(CloseClick); m_Close2.AddListener(CloseClick); } protected override void OnPreOpen() { this.transform.localScale = Vector3.zero; } protected override void OnAfterOpen() { } protected override void OnPreClose() { StopAllCoroutines(); } protected override void OnAfterClose() { } protected override void OnActived() { base.OnActived(); StartCoroutine(Co_DelayOneFrame()); } #endregion IEnumerator Co_DelayOneFrame() { this.transform.localScale = Vector3.zero; DisplayItem(); DisplaySpiritWeapon(); yield return null; yield return null; this.transform.localScale = Vector3.one; } void DisplayItem() { m_ItemGroup.Display(); } void DisplaySpiritWeapon() { if (ItemTipUtility.secondaryData != null) { m_SpiritWeaponGroup.Display(ItemTipUtility.secondaryData); } } [Serializable] public class ItemWidget { [SerializeField] TipItemBaseInfoWidget m_BaseInfoWidget; [SerializeField] TipItemDescriptionWidget m_DescriptionWidget; public void Display() { var data = ItemTipUtility.mainTipData; m_BaseInfoWidget.Display(data.baseInfo); m_DescriptionWidget.Display(data.baseInfo.itemId); var count = ModelCenter.Instance.GetModel().GetItemUsedTimesToday(data.itemId); var config = ItemConfig.Get(data.itemId); m_DescriptionWidget.DisplayUseState(count, config.MaxSkillCnt); } } [Serializable] public class SpiritWeaponWidget { [SerializeField] TipEquipBaseInfoWidget m_BaseInfoWidget; [SerializeField] TipBasePropertyWidget m_BasePropertyWidget; [SerializeField] TipSpiritWeaponPropertyWidget m_SpiritWeaponPropertyWidget; [SerializeField] TipItemDescriptionWidget m_DescriptionWidget; [SerializeField] TipJobAndPlaceWidget m_JobAndPlaceWidget; public void Display(ItemTipUtility.TipData data) { m_BaseInfoWidget.Display(data.baseInfo); m_BasePropertyWidget.Display(data.baseProperty); var property = data.spiritWeaponProperty; if (property.properties != null) { m_SpiritWeaponPropertyWidget.gameObject.SetActive(true); m_SpiritWeaponPropertyWidget.Display(property); } else { m_SpiritWeaponPropertyWidget.gameObject.SetActive(false); } var itemId = data.baseInfo.itemId; m_DescriptionWidget.Display(itemId); m_JobAndPlaceWidget.Display(itemId); } } } }