| System/LianQi/LianQiActModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/LianQi/LianQiActWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/LianQi/LianQiItemInfoDoubleWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/LianQi/LianQiItemInfoWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/LianQi/LianQiActModel.cs
@@ -48,6 +48,7 @@ public bool isChoose2 = false; public int useRow2; public int useCol2; public bool isPlayAssistiveItemAnimation; public readonly int MaxItemLv = 11;//最大合成物等级 public readonly int MaxGridRows = 4; @@ -148,7 +149,7 @@ public int no1PlayerID = 0; public int no1PlayerIDCross = 0; PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } public override void Init() { OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent; @@ -387,8 +388,12 @@ lastGridData = nowGridData; actScore = (int)pack.ScoreHighest; nowGridData = JsonMapper.ToObject<int[][]>(pack.GridData); if (pack.OPType != 4) if (pack.OPType == 1 || pack.OPType == 3) { isPause = false; } else if (pack.OPType == 2 && nowAssistiveItemNum != 4) { isPause = false; } @@ -596,6 +601,66 @@ return lastNonClaimedIndex >= 0 ? lastNonClaimedIndex : 0; } public bool IsCanSendUseItem() { if (!IsJoin) { SysNotifyMgr.Instance.ShowTip("ActionUnOpen1"); return false; } int itemID = nowAssistiveItemId; int num = nowAssistiveItemNum; //道具数量不足 if (packModel.GetItemCountByID(PackType.Item, itemID) <= 0) { SysNotifyMgr.Instance.ShowTip("LianQiAct02"); return false; } //该道具该局已达使用次数上限 if (!limitUsesToolCntDict.TryGetValue(itemID, out int cnt)) return false; int useItemCnt = GetUseItemCnt(nowPlayerInfo.UseItemCntList, num); if (useItemCnt >= cnt) { SysNotifyMgr.Instance.ShowTip("LianQiAct03"); return false; } if (nowAssistiveItemNum == 1) { //棋盘上只有一个物品时,无法摧毁 if (PieceCount(nowGridData) <= 1) { SysNotifyMgr.Instance.ShowTip("LianQiAct06"); return false; } } else if (nowAssistiveItemNum == 2) { //棋盘上只有一个物品时,无法交换 if (PieceCount(nowGridData) <= 1) { SysNotifyMgr.Instance.ShowTip("LianQiAct08"); return false; } } else if (nowAssistiveItemNum == 4) { //体力值已满,无法增加体力 if (nowPlayerInfo.Energy >= maxEnergy) { SysNotifyMgr.Instance.ShowTip("LianQiAct05"); return false; } } return true; } private void SendAA25LianqiOP(int type, int value1, int value2, int value3) { CAA25_tagCMActLianqiOP pack = new CAA25_tagCMActLianqiOP(); System/LianQi/LianQiActWin.cs
@@ -346,7 +346,6 @@ { transEnergyTime.SetActive(false); } } private void DisplayAssistiveItem() @@ -366,60 +365,14 @@ cell.countText.text = count.ToString(); cell.button.SetListener(() => { //当前非活动参与时间,请参考具体活动时间 if (!model.IsJoin) { SysNotifyMgr.Instance.ShowTip("ActionUnOpen1"); if (model.isPlayAssistiveItemAnimation) 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.nowAssistiveItemNum == 4) { //棋盘上只有一个物品时,无法摧毁 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 @@ -455,37 +408,7 @@ return; ItemConfig itemConfig = ItemConfig.Get(itemID); ConfirmCancel.ShowPopConfirmEx( Language.Get("Mail101"), Language.Get("LianQi16", itemInfo.Name, itemConfig.ItemName), (bool _ok) => { if (_ok) { model.isUseTool = false; model.SendUseOP(1, 0, model.useRow1, model.useCol1); } else { model.isUseTool = false; InitPanel(); } }, (bool _ok) => { if (_ok) { model.isUseTool = false; model.SendUseOP(1, 0, model.useRow1, model.useCol1); } else { model.isUseTool = false; InitPanel(); } } ); ConfirmCancel.ShowPopConfirmEx(Language.Get("Mail101"), Language.Get("LianQi16", itemInfo.Name, itemConfig.ItemName), OnConfirm1, OnConfirm1); } else if (model.nowAssistiveItemNum == 2 && model.isStartChoose && model.isChoose1 && model.isChoose2) { @@ -503,37 +426,7 @@ return; ItemConfig itemConfig = ItemConfig.Get(itemID); ConfirmCancel.ShowPopConfirmEx( Language.Get("Mail101"), Language.Get("LianQi17", itemConfig.ItemName, itemInfo.Name, itemInfo2.Name), (bool _ok) => { if (_ok) { model.isUseTool = false; model.SendUseOP(1, 1, model.useRow1, model.useCol1, model.useRow2, model.useCol2); } else { model.isUseTool = false; InitPanel(); } }, (bool _ok) => { if (_ok) { model.isUseTool = false; model.SendUseOP(1, 1, model.useRow1, model.useCol1, model.useRow2, model.useCol2); } else { model.isUseTool = false; InitPanel(); } } ); ConfirmCancel.ShowPopConfirmEx(Language.Get("Mail101"), Language.Get("LianQi17", itemConfig.ItemName, itemInfo.Name, itemInfo2.Name), OnConfirm2, OnConfirm2); } else if (model.nowAssistiveItemNum == 3 & model.isStartChoose && model.isChoose1) { @@ -546,37 +439,7 @@ return; ItemConfig itemConfig = ItemConfig.Get(itemID); ConfirmCancel.ShowPopConfirmEx( Language.Get("Mail101"), Language.Get("LianQi16", itemInfo.Name, itemConfig.ItemName), (bool _ok) => { if (_ok) { model.isUseTool = false; model.SendUseOP(1, 2, model.useRow1, model.useCol1); } else { model.isUseTool = false; InitPanel(); } }, (bool _ok) => { if (_ok) { model.isUseTool = false; model.SendUseOP(1, 2, model.useRow1, model.useCol1); } else { model.isUseTool = false; InitPanel(); } } ); ConfirmCancel.ShowPopConfirmEx(Language.Get("Mail101"), Language.Get("LianQi16", itemInfo.Name, itemConfig.ItemName), OnConfirm3, OnConfirm3); } } @@ -596,6 +459,45 @@ if (!WindowCenter.Instance.IsOpen<LianQiPopTipWin>()) WindowCenter.Instance.Open<LianQiPopTipWin>(); return; } } private void OnConfirm1(bool _ok) { model.isUseTool = false; if (_ok && model.IsCanSendUseItem()) { model.SendUseOP(1, 0, model.useRow1, model.useCol1); } else { InitPanel(); } } private void OnConfirm2(bool _ok) { model.isUseTool = false; if (_ok && model.IsCanSendUseItem()) { model.SendUseOP(1, 1, model.useRow1, model.useCol1, model.useRow2, model.useCol2); } else { InitPanel(); } } private void OnConfirm3(bool _ok) { model.isUseTool = false; if (_ok && model.IsCanSendUseItem()) { model.SendUseOP(1, 2, model.useRow1, model.useCol1); } else { InitPanel(); } } @@ -660,6 +562,7 @@ { if (model.nowAssistiveItemNum == 1) { model.isPlayAssistiveItemAnimation = true; var grid = level2Arr[model.useRow1][model.useCol1]; grid.uiFrame.SetActive(true); grid.uiFrame.SetLoopCount(1); @@ -668,6 +571,7 @@ } else if (model.nowAssistiveItemNum == 2) { model.isPlayAssistiveItemAnimation = true; var grid1Level1 = level1Arr[model.useRow1][model.useCol1]; var grid1Level2 = level2Arr[model.useRow1][model.useCol1]; var grid2Level1 = level1Arr[model.useRow2][model.useCol2]; @@ -708,6 +612,7 @@ } else if (model.nowAssistiveItemNum == 3) { model.isPlayAssistiveItemAnimation = true; var grid = level2Arr[model.useRow1][model.useCol1]; grid.imgTx.transform.localScale = Vector3.zero; Color imageColor = grid.imgTx.color; @@ -796,9 +701,8 @@ rectStartPosArr = RectTransListToArr(rectStartPos); level1Arr = LianQiActLevelListToArr(level1); level2Arr = LianQiActLevelListToArr(level2); model.isPlayAssistiveItemAnimation = false; model.isUseTool = false; model.nowAssistiveItemNum = 0; model.nowAssistiveItemId = 0; model.isStartChoose = false; model.isChoose1 = false; model.isChoose2 = false; System/LianQi/LianQiItemInfoDoubleWin.cs
@@ -17,12 +17,25 @@ [SerializeField] Button btnClose; LianQiActModel model { get { return ModelCenter.Instance.GetModel<LianQiActModel>(); } } PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } int itemID; private void OnConfirm4(bool _ok) { if (_ok && model.IsCanSendUseItem()) { model.SendUseOP((int)splitSlider.value, 3, 0, 0); } } protected override void AddListeners() { btnUse.SetListener(() => { model.SendUseOP((int)splitSlider.value, 3, 0, 0); int itemID = model.nowAssistiveItemId; if (!ItemConfig.Has(itemID)) return; ItemConfig itemConfig = ItemConfig.Get(itemID); ConfirmCancel.ShowPopConfirmEx(Language.Get("Mail101"), Language.Get("LianQi20", (int)splitSlider.value, itemConfig.ItemName), OnConfirm4, OnConfirm4); CloseClick(); }); @@ -34,6 +47,13 @@ btnAdd.SetListener(() => { int hasCount = packModel.GetItemCountByID(PackType.Item, itemID); if (hasCount < 0) { SysNotifyMgr.Instance.ShowTip("LianQiAct02"); return; } if (splitSlider.value < splitSlider.maxValue) { splitSlider.value++; @@ -42,6 +62,13 @@ btnReduce.SetListener(() => { int hasCount = packModel.GetItemCountByID(PackType.Item, itemID); if (hasCount < 0) { SysNotifyMgr.Instance.ShowTip("LianQiAct02"); return; } if (splitSlider.value > splitSlider.minValue) { splitSlider.value--; @@ -79,14 +106,15 @@ private void Display() { int itemID = model.nowAssistiveItemId; itemID = model.nowAssistiveItemId; if (!ItemConfig.Has(itemID)) return; ItemConfig itemConfig = ItemConfig.Get(itemID); int hasCount = packModel.GetItemCountByID(PackType.Item, itemID); var itemData = new ItemCellModel((int)itemID, false, (ulong)hasCount); itemCell.Init(itemData); itemCell.countText.SetActive(true); itemCell.countText.text = hasCount.ToString(); txtName.text = itemConfig.ItemName; txtInfo.text = itemConfig.Description; @@ -94,7 +122,7 @@ return; int useItemCnt = model.GetUseItemCnt(model.nowPlayerInfo.UseItemCntList, model.nowAssistiveItemNum); txtCount.text = Language.Get("LianQi15", Mathf.Max(0, limitCnt - useItemCnt), limitCnt); splitSlider.maxValue = hasCount; splitSlider.maxValue = Mathf.Min(hasCount, limitCnt); splitSlider.minValue = 1; splitSlider.value = splitSlider.minValue; txtNumber.text = Mathf.Ceil(splitSlider.value).ToString(); System/LianQi/LianQiItemInfoWin.cs
@@ -20,12 +20,6 @@ model.isStartChoose = true; model.isChoose1 = false; model.isChoose2 = false; ////使用道具交换道具 //if (model.nowAssistiveItemNum != 2) //{ // model.isPause = false; //} CloseClick(); }); @@ -64,6 +58,8 @@ int hasCount = packModel.GetItemCountByID(PackType.Item, itemID); var itemData = new ItemCellModel((int)itemID, false, (ulong)hasCount); itemCell.Init(itemData); itemCell.countText.SetActive(true); itemCell.countText.text = hasCount.ToString(); txtName.text = itemConfig.ItemName; txtInfo.text = itemConfig.Description;