少年修仙传客户端代码仓库
lcy
2025-02-13 59a643a30f86c3d68bb6778e806ba5d6a6826912
10360 仙匠大会辅助道具用ItemCell
2个文件已删除
1个文件已修改
176 ■■■■■ 已修改文件
System/LianQi/LianQiActWin.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/LianQi/LianQiAssistiveItem.cs 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/LianQi/LianQiAssistiveItem.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/LianQi/LianQiActWin.cs
@@ -23,7 +23,7 @@
        [SerializeField] Transform transGameEnd;
        [Header("辅助道具")]
        [SerializeField] List<LianQiAssistiveItem> lianQiAssistiveItems;
        [SerializeField] List<ItemCell> assistiveItemCells;
        [Header("棋盘相关")]
        [SerializeField] DragSelectComponentEx dragSelect;
@@ -337,17 +337,85 @@
        {
            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);
                    }
                }
            }
System/LianQi/LianQiAssistiveItem.cs
File was deleted
System/LianQi/LianQiAssistiveItem.cs.meta
File was deleted