From 7da5f5b780af330ecda645f5538e0917bd9eeb01 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 26 九月 2018 19:37:20 +0800
Subject: [PATCH] Merge branch 'master' into 1871天赋功能
---
System/Dogz/DogzModel.cs | 76 ++++++++++++++++++++++++++++++++++++-
1 files changed, 73 insertions(+), 3 deletions(-)
diff --git a/System/Dogz/DogzModel.cs b/System/Dogz/DogzModel.cs
index d33c8ad..0977455 100644
--- a/System/Dogz/DogzModel.cs
+++ b/System/Dogz/DogzModel.cs
@@ -26,6 +26,7 @@
selectEquipPlacelist = new List<ItemModel>();
dogzAssistStateDict = new Dictionary<int, int>();
m_DogzEquipAttrDict = new Dictionary<int, int>();
+ m_DogzAttrDict = new Dictionary<int, int>();
}
public void OnAfterPlayerDataInitialize()
@@ -56,7 +57,7 @@
public int DogzPackGridCnt { get; private set; } //绁炲吔鐗╁搧鑳屽寘鏍煎瓙鏁�
public int[] AddAssistItemCnt { get; private set; } //澧炲姞鍔╂垬绁炲吔鎬绘暟鐨勭墿鍝佹暟閲�
public Dictionary<int, int> m_DogzEquipStrenLimit { get; private set;} //绁炲吔瑁呭寮哄寲涓婇檺 鍝佽川 寮哄寲绛夌骇
-
+ public string dogzScoreFormula { get; private set; } //绁炲吔璇勫垎鍏紡
void ParseConfig()
{
var _dogzCfgs = Config.Instance.GetAllValues<DogzConfig>();
@@ -78,6 +79,8 @@
m_DogzEquipStrenLimit = ConfigParse.GetDic<int, int>(_funcCfg.Numerical4);
_funcCfg = Config.Instance.Get<FuncConfigConfig>("DogzPack");
DogzPackGridCnt = int.Parse(_funcCfg.Numerical1);
+ _funcCfg = Config.Instance.Get<FuncConfigConfig>("DogzGrade");
+ dogzScoreFormula = _funcCfg.Numerical1;
}
/// <summary>
/// 鑾峰緱鏍煎瓙鍙互绌挎埓鐨勮澶囬檺鍒� 绁炲吔Id 鏍煎瓙绱㈠紩
@@ -103,7 +106,7 @@
/// </summary>
/// <param name="_index"></param>
/// <returns></returns>
- public static string GetDogzPartNameByIndex(int _index)
+ public string GetDogzPartNameByIndex(int _index)
{
switch (_index)
{
@@ -122,7 +125,7 @@
}
}
- public static string GetItemColorName(int _itemColor)
+ public string GetItemColorName(int _itemColor)
{
switch (_itemColor)
{
@@ -143,6 +146,73 @@
return string.Empty;
}
}
+
+ public int GetDogzScoreById(int dogzId)
+ {
+ DogzConfig dogzConfig = Config.Instance.Get<DogzConfig>(dogzId);
+ if (dogzConfig == null) return 0;
+ Equation.Instance.Clear();
+ Equation.Instance.AddKeyValue("FightPowerEx",dogzConfig.FightPowerEx);
+ Equation.Instance.AddKeyValue("EquipGSFormula", GetDogzEquipScore(dogzId));
+ GetDogzAttrDictById(dogzId);
+ foreach(var key in m_DogzAttrDict.Keys)
+ {
+ PlayerPropertyConfig propertyConfig = Config.Instance.Get<PlayerPropertyConfig>(key);
+ if (propertyConfig != null)
+ {
+ Equation.Instance.AddKeyValue(propertyConfig.Parameter, m_DogzAttrDict[key]);
+ }
+ }
+ return Equation.Instance.Eval<int>(dogzScoreFormula);
+ }
+ public Dictionary<int, int> m_DogzAttrDict { get; private set; }
+ public Dictionary<int, int> GetDogzAttrDictById(int dogzId)
+ {
+ m_DogzAttrDict.Clear();
+ DogzConfig dogzConfig = Config.Instance.Get<DogzConfig>(dogzId);
+ int[] baseAttrIds = dogzConfig.BaseAttrTypes;
+ int[] baseAttrValues = dogzConfig.BaseAttrValues;
+ for (int i = 0; i < baseAttrIds.Length; i++)
+ {
+ if (!m_DogzAttrDict.ContainsKey(baseAttrIds[i]))
+ {
+ m_DogzAttrDict.Add(baseAttrIds[i], baseAttrValues[i]);
+ }
+ else
+ {
+ m_DogzAttrDict[baseAttrIds[i]] += baseAttrValues[i];
+ }
+ }
+
+ Dictionary<int, int> dogzStrenDict = beastModel.AllEnhancedProperties(dogzId);
+ foreach (var key in dogzStrenDict.Keys)
+ {
+ if (!m_DogzAttrDict.ContainsKey(key))
+ {
+ m_DogzAttrDict.Add(key, dogzStrenDict[key]);
+ }
+ else
+ {
+ m_DogzAttrDict[key] += dogzStrenDict[key];
+ }
+ }
+ return m_DogzAttrDict;
+ }
+
+ public int GetDogzEquipScore(int dogzId)
+ {
+ int score = 0;
+ List<ItemModel> itemModels = GetDogzEquips(dogzId);
+ if(itemModels != null)
+ {
+ for(int i = 0; i < itemModels.Count; i++)
+ {
+ score += itemModels[i].equipScore;
+ }
+ }
+ return score;
+ }
+
#endregion
public int GetAssistItemCnt()
--
Gitblit v1.8.0