From ed912be1381064888b708b0c49feb835320f3652 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期一, 20 八月 2018 21:25:10 +0800
Subject: [PATCH] 2737 【前端】合成引导触发变更
---
System/NewBieGuidance/NewBieCenter.cs | 6 +++++-
System/Compose/New/ComposeWinModel.cs | 38 ++++++++++++++++++++++++++++++++------
2 files changed, 37 insertions(+), 7 deletions(-)
diff --git a/System/Compose/New/ComposeWinModel.cs b/System/Compose/New/ComposeWinModel.cs
index 4cfa451..3e7dc17 100644
--- a/System/Compose/New/ComposeWinModel.cs
+++ b/System/Compose/New/ComposeWinModel.cs
@@ -130,6 +130,24 @@
return modellist;
}
+ public int GetTicketId(int firstType, int secondType, int thirdType)
+ {
+ var itemId = 0;
+ var dict = ItemCompoundConfig.GetFirstComposeTypeDict(firstType);
+ Dictionary<int, List<ItemCompoundConfig>> _secondTypeDict = null;
+ dict.TryGetValue(secondType, out _secondTypeDict);
+ if (_secondTypeDict != null)
+ {
+ List<ItemCompoundConfig> modellist = null;
+ _secondTypeDict.TryGetValue(thirdType, out modellist);
+ if (modellist != null && modellist.Count > 0)
+ {
+ int.TryParse(modellist[0].makeID, out itemId);
+ }
+ }
+ return itemId;
+ }
+
public int[] makeIDs { get; private set; }
public int[] unfixedItemIDs { get; private set; }
public int[] costfixedItemIDs { get; private set; }
@@ -746,28 +764,36 @@
{
bool isEnough = true;
Dictionary<int, Dictionary<int, List<ItemCompoundConfig>>> getFirstModel = ItemCompoundConfig.GetFirstComposeTypeDict((int)ComposeFuncType.Ticket);
- if(getFirstModel.ContainsKey(secondType))
+ if (getFirstModel.ContainsKey(secondType))
{
- if(getFirstModel[secondType].ContainsKey(0))
+ if (getFirstModel[secondType].ContainsKey(0))
{
ItemCompoundConfig compoundConfig = getFirstModel[secondType][0][0];
int[] fixedIDs = ConfigParse.GetMultipleStr<int>(compoundConfig.itemID);
int[] fixedCnt = ConfigParse.GetMultipleStr<int>(compoundConfig.itemCount);
- for(int i= 0; i< fixedIDs.Length; i++)
+ for (int i = 0; i < fixedIDs.Length; i++)
{
- int haveCnt = playerPack.GetItemCountByID(PackType.rptItem,fixedIDs[i]);
- if(fixedCnt[i] > haveCnt)
+ int haveCnt = playerPack.GetItemCountByID(PackType.rptItem, fixedIDs[i]);
+ if (fixedCnt[i] > haveCnt)
{
isEnough = false;
break;
}
}
}
+ else
+ {
+ isEnough = false;
+ }
+ }
+ else
+ {
+ isEnough = false;
}
return isEnough;
}
- #region 澶勭悊璺宠浆鐣岄潰鏁版嵁
+ #region 澶勭悊璺宠浆鐣岄潰鏁版嵁
public bool CheckComposeItemById(int itemId)
{
diff --git a/System/NewBieGuidance/NewBieCenter.cs b/System/NewBieGuidance/NewBieCenter.cs
index ae9338a..ec73646 100644
--- a/System/NewBieGuidance/NewBieCenter.cs
+++ b/System/NewBieGuidance/NewBieCenter.cs
@@ -54,6 +54,7 @@
PlayerDeadModel playerDeadModel { get { return ModelCenter.Instance.GetModel<PlayerDeadModel>(); } }
TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
DailyQuestModel dailyModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
+ PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
public event Action guideStepChangeEvent;
public event Action guideBeginEvent;
@@ -340,7 +341,10 @@
case GuideTriggerType.RealmSitDown:
return false;
case GuideTriggerType.ItemCompound:
- return composeModel.IsComposeTicketByType(config.Condition);
+ var itemId = composeModel.GetTicketId((int)ComposeFuncType.Ticket, config.Condition, 0);
+ var singlepack = packModel.GetSinglePackModel(PackType.rptItem);
+ var count = singlepack != null ? singlepack.GetItemCountByID(itemId) : 0;
+ return composeModel.IsComposeTicketByType(config.Condition) && itemId != 0 && count == 0;
case GuideTriggerType.HangUpResult:
return true;
case GuideTriggerType.BranchQuestCando:
--
Gitblit v1.8.0