| | |
| | | [SerializeField] Transform transGameEnd;
|
| | |
|
| | | [Header("辅助道具")]
|
| | | [SerializeField] List<LianQiAssistiveItem> lianQiAssistiveItems;
|
| | | [SerializeField] List<ItemCell> assistiveItemCells;
|
| | |
|
| | | [Header("棋盘相关")]
|
| | | [SerializeField] DragSelectComponentEx dragSelect;
|
| | |
| | | {
|
| | | if (model.assistiveItemArr != null)
|
| | | {
|
| | | for (int i = 0; i < lianQiAssistiveItems.Count; i++)
|
| | | for (int i = 0; i < assistiveItemCells.Count; i++)
|
| | | {
|
| | | if (i < model.assistiveItemArr.Length)
|
| | | {
|
| | | int index = i;
|
| | | ItemCell cell = assistiveItemCells[i];
|
| | | int itemID = model.assistiveItemArr[i];
|
| | | lianQiAssistiveItems[i].Display(i, itemID);
|
| | | lianQiAssistiveItems[i].SetActive(true);
|
| | | int count = packModel.GetItemCountByID(PackType.Item, itemID);
|
| | | cell.Init(new ItemCellModel(itemID, false, (ulong)count));
|
| | | cell.countText.SetActive(true);
|
| | | cell.countText.text = count.ToString();
|
| | | cell.button.SetListener(() =>
|
| | | {
|
| | | //当前非活动参与时间,请参考具体活动时间
|
| | | if (!model.IsJoin)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("ActionUnOpen1");
|
| | | return;
|
| | | }
|
| | |
|
| | | //道具数量不足
|
| | | if (packModel.GetItemCountByID(PackType.Item, itemID) <= 0)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("LianQiAct02");
|
| | | return;
|
| | | }
|
| | | //该道具该局已达使用次数上限
|
| | | if (!model.limitUsesToolCntDict.TryGetValue(itemID, out int cnt))
|
| | | return;
|
| | | int useItemCnt = model.GetUseItemCnt(model.nowPlayerInfo.UseItemCntList, index + 1);
|
| | | if (useItemCnt >= cnt)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("LianQiAct03");
|
| | | return;
|
| | | }
|
| | | model.isUseTool = true;
|
| | | model.nowAssistiveItemNum = index + 1;
|
| | | model.nowAssistiveItemId = itemID;
|
| | |
|
| | | if (model.nowAssistiveItemNum == 1)
|
| | | {
|
| | | //棋盘上只有一个物品时,无法摧毁
|
| | | if (model.PieceCount(model.nowGridData) <= 1)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("LianQiAct06");
|
| | | return;
|
| | | }
|
| | | WindowCenter.Instance.Open<LianQiItemInfoWin>();
|
| | | }
|
| | | else if (model.nowAssistiveItemNum == 2)
|
| | | {
|
| | | //棋盘上只有一个物品时,无法交换
|
| | | if (model.PieceCount(model.nowGridData) <= 1)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("LianQiAct08");
|
| | | return;
|
| | | }
|
| | | WindowCenter.Instance.Open<LianQiItemInfoWin>();
|
| | | }
|
| | | else if (model.nowAssistiveItemNum == 4)
|
| | | {
|
| | | //体力值已满,无法增加体力
|
| | | if (model.nowPlayerInfo.Energy >= model.maxEnergy)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("LianQiAct05");
|
| | | return;
|
| | | }
|
| | | WindowCenter.Instance.Open<LianQiItemInfoDoubleWin>();
|
| | | }
|
| | | else
|
| | | {
|
| | | WindowCenter.Instance.Open<LianQiItemInfoWin>();
|
| | | }
|
| | | });
|
| | | assistiveItemCells[i].SetActive(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | lianQiAssistiveItems[i].SetActive(false);
|
| | | assistiveItemCells[i].SetActive(false);
|
| | | }
|
| | | }
|
| | | }
|