//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Saturday, April 20, 2019 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class SpiritWeaponTipWin : Window { [SerializeField] TipEquipBaseInfoWidget m_BaseInfoWidget; [SerializeField] TipBasePropertyWidget m_BasePropertyWidget; [SerializeField] TipSpiritWeaponPropertyWidget m_SpiritWeaponPropertyWidget; [SerializeField] TipAuctionTipWidget m_AuctionTipWidget; [SerializeField] TipItemDescriptionWidget m_DescriptionWidget; [SerializeField] TipBuyItemWidget m_BuyItemWidget; [SerializeField] TipGetWayEntranceWidget m_GetWayEntranceWidget; [SerializeField] TipGetWaysWidget m_GetWaysWidget; [SerializeField] TipJobAndPlaceWidget m_JobAndPlaceWidget; [SerializeField] TipOperateButton[] m_OperateButtons; [SerializeField] Button m_Close; #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Close.SetListener(() => { WindowCenter.Instance.Close(); }); } protected override void OnPreOpen() { } protected override void OnAfterOpen() { } protected override void OnPreClose() { m_BuyItemWidget.Dispose(); } protected override void OnAfterClose() { } protected override void OnActived() { base.OnActived(); DisplayBaseInfo(); DisplayBaseProperty(); DisplaySpiritWeaponProperty(); DisplayAuction(); DisplayItemDescription(); DisplayBuyItem(); DisplayJobAndPlace(); DisplayGetWays(); DisplayOperateButton(); } #endregion private void DisplayBaseInfo() { var baseInfo = ItemTipUtility.mainTipData.baseInfo; m_BaseInfoWidget.Display(baseInfo); } private void DisplayBaseProperty() { var baseProperty = ItemTipUtility.mainTipData.baseProperty; m_BasePropertyWidget.Display(baseProperty); } private void DisplaySpiritWeaponProperty() { var property = ItemTipUtility.mainTipData.spiritWeaponProperty; if (property.properties != null) { m_SpiritWeaponPropertyWidget.SetActive(true); m_SpiritWeaponPropertyWidget.Display(property); } else { m_SpiritWeaponPropertyWidget.SetActive(false); } } private void DisplayAuction() { m_AuctionTipWidget.SetActive(false); //var baseInfo = ItemTipUtility.mainTipData.baseInfo; //m_AuctionTipWidget.SetActive(baseInfo.isAuction); //if (baseInfo.isAuction) //{ // var overdueTime = TimeUtility.ServerNow.AddSeconds((double)baseInfo.auctionSurplusTime); // m_AuctionTipWidget.Display(overdueTime); //} } private void DisplayItemDescription() { var itemId = ItemTipUtility.mainTipData.baseInfo.itemId; m_DescriptionWidget.Display(itemId); } private void DisplayBuyItem() { m_BuyItemWidget.SetActive(ItemTipUtility.mainTipData.goodId > 0); if (ItemTipUtility.mainTipData.goodId > 0) { m_BuyItemWidget.Display(ItemTipUtility.mainTipData.goodId); } } private void DisplayGetWays() { var getWay = ItemTipUtility.mainTipData.getWay; var hasGetWay = !getWay.ways.IsNullOrEmpty(); m_GetWayEntranceWidget.SetActive(hasGetWay); m_GetWaysWidget.SetActive(false); if (hasGetWay) { m_GetWayEntranceWidget.SetListener(() => { if (!m_GetWaysWidget.gameObject.activeSelf) { m_GetWaysWidget.Display(getWay); m_GetWaysWidget.Bind("SpiritWeaponTipWin"); } else { m_GetWaysWidget.Hide(); } }); if (getWay.defaultUnfold) { m_GetWaysWidget.Display(getWay); m_GetWaysWidget.Bind("SpiritWeaponTipWin"); } } } private void DisplayJobAndPlace() { var itemId = ItemTipUtility.mainTipData.baseInfo.itemId; m_JobAndPlaceWidget.Display(itemId); } private void DisplayOperateButton() { var operates = ItemTipUtility.mainTipData.operates; var guid = ItemTipUtility.mainTipData.guid; if (operates.IsNullOrEmpty()) { for (int i = 0; i < m_OperateButtons.Length; i++) { var button = m_OperateButtons[i]; button.SetActive(false); } } else { for (int i = 0; i < m_OperateButtons.Length; i++) { var button = m_OperateButtons[i]; if (i < operates.Count) { button.SetActive(true); button.Bind(this.GetType().Name, operates[i], guid); } else { button.SetActive(false); } } } } } }