//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Saturday, April 20, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
|
public class SpiritWeaponTipWin : Window
|
{
|
[SerializeField] TipItemBaseInfoWidget m_BaseInfoWidget;
|
[SerializeField] TipBasePropertyWidget m_BasePropertyWidget;
|
[SerializeField] TipSpiritWeaponPropertyWidget m_SpiritWeaponPropertyWidget;
|
[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<SpiritWeaponTipWin>(); });
|
}
|
|
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();
|
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;
|
m_SpiritWeaponPropertyWidget.Display(property);
|
}
|
|
private void DisplayItemDescription()
|
{
|
var itemId = ItemTipUtility.mainTipData.baseInfo.itemId;
|
m_DescriptionWidget.Display(itemId);
|
}
|
|
private void DisplayBuyItem()
|
{
|
m_BuyItemWidget.gameObject.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.gameObject.SetActive(hasGetWay);
|
m_GetWaysWidget.gameObject.SetActive(false);
|
if (hasGetWay)
|
{
|
m_GetWayEntranceWidget.SetListener(() =>
|
{
|
if (!m_GetWaysWidget.gameObject.activeSelf)
|
{
|
m_GetWaysWidget.Display(getWay);
|
}
|
else
|
{
|
m_GetWaysWidget.Hide();
|
}
|
});
|
}
|
}
|
|
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);
|
}
|
}
|
}
|
}
|
|
}
|
|
}
|