From 1c4c5c5cb829334303bff98837a69a9653dca714 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 20 八月 2018 17:09:49 +0800
Subject: [PATCH] Merge branch 'master' into DogzDungeon
---
System/Dungeon/TrialDungeonModel.cs | 51 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 48 insertions(+), 3 deletions(-)
diff --git a/System/Dungeon/TrialDungeonModel.cs b/System/Dungeon/TrialDungeonModel.cs
index 261dd8d..6933d8e 100644
--- a/System/Dungeon/TrialDungeonModel.cs
+++ b/System/Dungeon/TrialDungeonModel.cs
@@ -10,6 +10,7 @@
{
Dictionary<int, List<TrialExchangeConfig>> trialTokenExchangeDict = new Dictionary<int, List<TrialExchangeConfig>>();
Dictionary<int, int> lineToTokenClassDict;
+ Dictionary<int, Dictionary<int, int[]>> trialRewardDict = new Dictionary<int, Dictionary<int, int[]>>();
public Dictionary<int, List<int>> trialClassTokens = new Dictionary<int, List<int>>();
public List<int> trialTokens = new List<int>();
PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
@@ -78,6 +79,18 @@
}
var funcConfig = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("LineToItemStage");
lineToTokenClassDict = ConfigParse.GetDic<int, int>(funcConfig.Numerical1);
+
+ var trialRewards = ConfigManager.Instance.GetAllValues<TrialRewardsConfig>();
+ for (int i = 0; i < trialRewards.Count; i++)
+ {
+ Dictionary<int, int[]> dict = null;
+ if (!trialRewardDict.TryGetValue(trialRewards[i].lineId, out dict))
+ {
+ dict = new Dictionary<int, int[]>();
+ trialRewardDict.Add(trialRewards[i].lineId, dict);
+ }
+ dict.Add(trialRewards[i].grade, trialRewards[i].rewards);
+ }
}
public override void UnInit()
@@ -138,6 +151,20 @@
public bool TryGetTrialExchanges(int lv, out List<TrialExchangeConfig> list)
{
return trialTokenExchangeDict.TryGetValue(lv, out list);
+ }
+
+ public bool TryGetTrialRewards(int lineId, int grade, out int[] rewards)
+ {
+ rewards = null;
+ if (trialRewardDict.ContainsKey(lineId))
+ {
+ if (trialRewardDict[lineId].ContainsKey(grade))
+ {
+ rewards = trialRewardDict[lineId][grade];
+ return rewards != null && rewards.Length > 0;
+ }
+ }
+ return false;
}
public List<int> GetTotalClass()
@@ -252,6 +279,24 @@
return 0;
}
+ public int GetExchangeItemByJob(TrialExchangeConfig config)
+ {
+ if (config == null)
+ {
+ return 0;
+ }
+ if (config.exchangeItemID.Length == 1)
+ {
+ return config.exchangeItemID[0];
+ }
+ var job = PlayerDatas.Instance.baseData.Job;
+ if (job - 1 < config.exchangeItemID.Length && job - 1 >= 0)
+ {
+ return config.exchangeItemID[job - 1];
+ }
+ return config.exchangeItemID[0];
+ }
+
#region 绾㈢偣
void UpdateRedpoint()
{
@@ -308,12 +353,12 @@
{
return false;
}
- var exchangeItemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(config.exchangeItemID);
+ var exchangeItemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(GetExchangeItemByJob(config));
if (exchangeItemConfig.EquipPlace == 0)
{
return true;
}
- if (EquipCompare(config.exchangeItemID) == 1)
+ if (EquipCompare(GetExchangeItemByJob(config)) == 1)
{
return true;
}
@@ -328,7 +373,7 @@
{
for (int i = 0; i < list.Count; i++)
{
- var itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(list[i].exchangeItemID);
+ var itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(GetExchangeItemByJob(list[i]));
if (SatisfyExchangeBetter(list[i].id) && itemConfig.EquipPlace != 0)
{
_id = list[i].id;
--
Gitblit v1.8.0