using System;
|
using UnityEngine;
|
|
namespace vnxbqy.UI
|
{
|
|
public class SecretPlaceXBCell : MonoBehaviour
|
{
|
[SerializeField] public UIEffect effHole;
|
[SerializeField] public ItemCell itemCell;
|
[SerializeField] UIEffect effCard;
|
[SerializeField] ButtonEx cardBtn;
|
|
int curPosNum = 0;
|
|
SecretPlaceXBModel model { get { return ModelCenter.Instance.GetModel<SecretPlaceXBModel>(); } }
|
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
|
|
//posnum 从1开始
|
public void Display(int posNum)
|
{
|
curPosNum = posNum;
|
|
effHole.Stop();
|
effCard.Stop();
|
itemCell.SetActiveIL(false);
|
cardBtn.SetListener(SelectCard);
|
cardBtn.SetActiveIL(true);
|
if (!model.operationAct.awardItems.ContainsKey(posNum))
|
{
|
cardBtn.SetColorful(null, true);
|
}
|
else
|
{
|
cardBtn.SetColorful(null, false);
|
if (model.operationAct.awardItems[posNum].ItemLibType == OperationXianXiaMJLottery.bigAwardType)
|
{
|
effHole.Play();
|
}
|
}
|
}
|
|
public void DisplaySingle(int posNum)
|
{
|
if (!model.operationAct.awardItems.ContainsKey(posNum))
|
{
|
itemCell.SetActiveIL(false);
|
return;
|
}
|
|
var item = model.operationAct.awardItems[posNum];
|
|
itemCell.SetActiveIL(true);
|
itemCell.Init(new ItemCellModel((int)item.ItemID, false, item.ItemCount));
|
|
model.showResultPos[posNum] = Time.time;
|
|
cardBtn.SetActiveIL(true);
|
cardBtn.SetColorful(null, false);
|
}
|
|
void SelectCard()
|
{
|
if (!model.IsJoin)
|
{
|
SysNotifyMgr.Instance.ShowTip("ActionUnOpen1");
|
return;
|
}
|
|
if (!model.operationAct.awardItems.ContainsKey(curPosNum))
|
{
|
if (model.operationAct.selectBigAward == null)
|
{
|
SysNotifyMgr.Instance.ShowTip("XianXiaMJ31");
|
return;
|
}
|
if (packModel.GetItemCountByID(PackType.Item, model.subItemID) < 1)
|
{
|
if ((uint)HeroControler.Instance.GetMoneyCntIL(model.moneyType) < model.operationAct.costMoneyValue)
|
{
|
SysNotifyMgr.Instance.ShowTip("XianXiaMJ32");
|
}
|
else
|
{
|
storeModel.UseMoneyCheck(model.operationAct.costMoneyValue, () =>
|
{
|
model.SendSelectCard(curPosNum);
|
effCard.Play();
|
cardBtn.SetActiveIL(false);
|
}, 2);
|
|
|
}
|
return;
|
}
|
|
model.SendSelectCard(curPosNum);
|
effCard.Play();
|
cardBtn.SetActiveIL(false);
|
}
|
else
|
{
|
if (model.operationAct.awardItems[curPosNum].ItemLibType == OperationXianXiaMJLottery.bigAwardType)
|
{
|
model.PopNextLevel();
|
}
|
}
|
|
}
|
}
|
|
|
}
|