135 lines
3.1 KiB
C#
135 lines
3.1 KiB
C#
![]() |
// ***********************************************************************
|
|||
|
// Assembly : Game
|
|||
|
// Author : Kimch
|
|||
|
// Created : 2021-06-16
|
|||
|
// Description :
|
|||
|
// Last Modified By :
|
|||
|
// Last Modified On :
|
|||
|
// ***********************************************************************
|
|||
|
// <copyright file= "GemUpgradeBox.View" company="Kunpo"></copyright>
|
|||
|
// <summary></summary>
|
|||
|
// ***********************************************************************
|
|||
|
namespace G.UI
|
|||
|
{
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
partial class GemUpgradeBox
|
|||
|
{
|
|||
|
#region Auto Generate
|
|||
|
|
|||
|
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|||
|
[KUIFlag]
|
|||
|
Button _btnClose;
|
|||
|
[KUIFlag]
|
|||
|
Button _btnUpgrade;
|
|||
|
[KUIFlag]
|
|||
|
KUIList __goGems;
|
|||
|
[KUIFlag]
|
|||
|
GameObject __goUpgradeCost;
|
|||
|
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Field
|
|||
|
|
|||
|
private bool[] _gemFilter = new bool[8];
|
|||
|
private CostWidget _upgradeCostWidget;
|
|||
|
private Item.ItemInfo _upgradeCost;
|
|||
|
|
|||
|
private Dictionary<int, GemSelectWidget> _gemSelectWidgets = new Dictionary<int, GemSelectWidget>();
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Method
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public void InitView()
|
|||
|
{
|
|||
|
SetViewData();
|
|||
|
__goGems.AddTemplate<GemSelectWidget>(true);
|
|||
|
_upgradeCostWidget = __goUpgradeCost.AddComponent<CostWidget>();
|
|||
|
|
|||
|
_btnClose.onClick.AddListener(this.OnCloseBtnClick);
|
|||
|
gameObject.GetComponent<Button>().onClick.AddListener(this.OnCloseBtnClick);
|
|||
|
_btnUpgrade.onClick.AddListener(this.OnUpgradeBtnClick);
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public void RefreshView()
|
|||
|
{
|
|||
|
var gems = BagProxy.Instance.GetGemsBySlot();
|
|||
|
__goGems.Clear();
|
|||
|
_gemSelectWidgets.Clear();
|
|||
|
foreach (var gemKV in gems)
|
|||
|
{
|
|||
|
if (gemKV.Value.Count > 0)
|
|||
|
{
|
|||
|
var widget = __goGems.GetItem<GemSelectWidget>();
|
|||
|
widget.SetData(gemKV.Value[0]);
|
|||
|
_gemSelectWidgets.Add(gemKV.Key, widget);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
RefreshFilter();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public void RefreshFilter()
|
|||
|
{
|
|||
|
foreach (var item in _gemSelectWidgets)
|
|||
|
{
|
|||
|
_gemFilter[item.Key] = item.Value.IsSelect();
|
|||
|
}
|
|||
|
_upgradeCost = BagProxy.Instance.CalcOneKeyGemUpgradeCost(_gemFilter);
|
|||
|
|
|||
|
bool enough = MoneyProxy.Instance.CheckMoney(_upgradeCost);
|
|||
|
_upgradeCostWidget.SetPrice(_upgradeCost.id, _upgradeCost.count, enough);
|
|||
|
_btnUpgrade.interactable = true;
|
|||
|
//if (enough && _upgradeCost.id > 0 && _upgradeCost.count > 0)
|
|||
|
//else
|
|||
|
// _btnUpgrade.interactable = false;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public void UpdateView()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
private void OnUpgradeBtnClick()
|
|||
|
{
|
|||
|
if (!MoneyProxy.Instance.CheckMoney(_upgradeCost))
|
|||
|
{
|
|||
|
AdMoneyBox.ShowAdMoney(Item.Id.kChip, true);
|
|||
|
|
|||
|
return;
|
|||
|
}
|
|||
|
foreach (var item in _gemSelectWidgets)
|
|||
|
{
|
|||
|
_gemFilter[item.Key] = item.Value.IsSelect();
|
|||
|
}
|
|||
|
BagProxy.Instance.GemOneKeyUpgrade(_gemFilter);
|
|||
|
CloseWindow(this);
|
|||
|
}
|
|||
|
|
|||
|
private void OnCloseBtnClick()
|
|||
|
{
|
|||
|
CloseWindow(this);
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|