109 lines
2.7 KiB
C#
109 lines
2.7 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
using GCGame.Table;
|
|||
|
|
|||
|
public class BanQuetFireWorkPanel : MonoBehaviour {
|
|||
|
public static BanQuetFireWorkPanel Instance;
|
|||
|
private void Awake()
|
|||
|
{
|
|||
|
Instance = this;
|
|||
|
}
|
|||
|
|
|||
|
private void OnDestroy()
|
|||
|
{
|
|||
|
Instance = null;
|
|||
|
}
|
|||
|
|
|||
|
private void OnEnable()
|
|||
|
{
|
|||
|
_InputNumBoard.Init(1, 1, 99);
|
|||
|
OnNumChange();
|
|||
|
}
|
|||
|
|
|||
|
private void Start()
|
|||
|
{
|
|||
|
InitItem();
|
|||
|
}
|
|||
|
|
|||
|
public UIContainerBase _FireWorkItemContainer;
|
|||
|
public UINumBoardInput _InputNumBoard;
|
|||
|
public Image _MoneyIcon;
|
|||
|
public Text _CostText;
|
|||
|
|
|||
|
void InitItem()
|
|||
|
{
|
|||
|
List<int> _TabIdList = new List<int>();
|
|||
|
foreach(var tab in TableManager.GetWeddingFireworks())
|
|||
|
{
|
|||
|
_TabIdList.Add(tab.Key);
|
|||
|
}
|
|||
|
|
|||
|
_FireWorkItemContainer.InitContentItem(_TabIdList);
|
|||
|
|
|||
|
if(_TabIdList.Count > 0)
|
|||
|
_FireWorkItemContainer.ForeachActiveItem<FireWorkItem>(item => {
|
|||
|
if(item._TabId == _TabIdList[0])
|
|||
|
{
|
|||
|
item.OnItemClick();
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
private int _MoneyType = -1;
|
|||
|
void InitMoneyIcon(int type)
|
|||
|
{
|
|||
|
if (_MoneyType == type)
|
|||
|
return;
|
|||
|
LoadAssetBundle.Instance.SetImageSprite(_MoneyIcon, PlayerData.MONEY.GetMoneySpriteStr((MONEYTYPE)type));
|
|||
|
}
|
|||
|
|
|||
|
public void OnNumChange()
|
|||
|
{
|
|||
|
_CostText.text = _SingleCostVal * _InputNumBoard.Value + "";
|
|||
|
}
|
|||
|
|
|||
|
private int _CurSelectType = -1;
|
|||
|
private int _SingleCostVal = -1;
|
|||
|
public void OnItemClick(int tabId)
|
|||
|
{
|
|||
|
if (_CurSelectType == tabId)
|
|||
|
return;
|
|||
|
_CurSelectType = tabId;
|
|||
|
var fireWorkTab = TableManager.GetWeddingFireworksByID(tabId, 0);
|
|||
|
if(fireWorkTab != null)
|
|||
|
{
|
|||
|
InitMoneyIcon(fireWorkTab.CostSubClassType);
|
|||
|
_SingleCostVal = fireWorkTab.CostVal;
|
|||
|
}
|
|||
|
_FireWorkItemContainer.ForeachActiveItem<FireWorkItem>(item =>
|
|||
|
{
|
|||
|
item.ShowMarkIcon(item._TabId == tabId);
|
|||
|
});
|
|||
|
_InputNumBoard.Init(1, 1, 99);
|
|||
|
OnNumChange();
|
|||
|
}
|
|||
|
|
|||
|
public void OnFireBtn()
|
|||
|
{
|
|||
|
var tab = TableManager.GetWeddingFireworksByID(_CurSelectType, 0);
|
|||
|
var singleCost = tab.CostVal;
|
|||
|
var moneyType = tab.CostSubClassType;
|
|||
|
if(JudgeMoneyLogic.IsMoneyEnough((MONEYTYPE)moneyType, singleCost * _InputNumBoard.Value))
|
|||
|
{
|
|||
|
ReqFireworks req = new ReqFireworks();
|
|||
|
req.nType = _CurSelectType;
|
|||
|
req.nNum = _InputNumBoard.Value;
|
|||
|
req.SendMsg();
|
|||
|
|
|||
|
OnCloseBtn();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void OnCloseBtn()
|
|||
|
{
|
|||
|
this.gameObject.SetActive(false);
|
|||
|
}
|
|||
|
}
|