using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using TableConfig;
|
using System;
|
|
namespace Snxxz.UI
|
{
|
public class TrialExchangeBehaviour : MonoBehaviour
|
{
|
[SerializeField] Image m_Bottom;
|
[SerializeField] ItemCell m_Item;
|
[SerializeField] Text m_Description;
|
[SerializeField] ItemBehaviour m_Token;
|
[SerializeField] Button m_Exchange;
|
[SerializeField] Image m_Redpoint;
|
[SerializeField] Image m_Up;
|
[SerializeField] Image m_Down;
|
TrialDungeonModel model { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } }
|
DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
|
|
PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
|
|
int trialExchangeId = 0;
|
private void Awake()
|
{
|
m_Exchange.AddListener(Exchange);
|
}
|
|
private void Exchange()
|
{
|
if (trialExchangeId != 0)
|
{
|
int error = 0;
|
if (!model.TrialSendExchange(trialExchangeId, out error))
|
{
|
if (error == 1)
|
{
|
var config = ConfigManager.Instance.GetTemplate<TrialExchangeConfig>(trialExchangeId);
|
if (config != null)
|
{
|
ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(config.tokenId);
|
}
|
}
|
}
|
}
|
}
|
|
public void Display(int id, bool equipBetter = true, bool first = false)
|
{
|
m_Bottom.SetSprite(first ? "SpecialExchangeBottom" : "Title_PopupWindow");
|
trialExchangeId = id;
|
var config = ConfigManager.Instance.GetTemplate<TrialExchangeConfig>(id);
|
if (config == null)
|
{
|
trialExchangeId = 0;
|
return;
|
}
|
m_Item.cellBtn.RemoveAllListeners();
|
m_Item.gameObject.SetActive(true);
|
ItemCellModel cellModel = new ItemCellModel(config.exchangeItemID, true, (ulong)config.exchangeItemCount, config.exchangeItemIsBind);
|
m_Item.Init(cellModel);
|
m_Item.cellBtn.AddListener(() =>
|
{
|
ItemAttrData itemAttrData = new ItemAttrData(config.exchangeItemID, true, (ulong)config.exchangeItemCount, -1, config.exchangeItemIsBind, true);
|
ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(itemAttrData);
|
});
|
m_Description.text = config.description;
|
m_Token.SetItem(config.tokenId, config.tokenCount);
|
var count = model.GetTrialTokenCount(config.tokenId);
|
m_Token.count.color = UIHelper.GetUIColor(count >= config.tokenCount ? TextColType.Green : TextColType.NavyBrown, true);
|
var equipCompare = model.EquipCompare(config.exchangeItemID);
|
m_Up.gameObject.SetActive(equipCompare == 1);
|
m_Down.gameObject.SetActive(equipCompare == -1);
|
|
var exchangeItemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(config.exchangeItemID);
|
m_Redpoint.gameObject.SetActive(count >= config.tokenCount && (equipBetter || exchangeItemConfig.EquipPlace == 0));
|
}
|
}
|
}
|