From e627bb5b475ee9def6e2cb014ca0a93f97615840 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期一, 25 三月 2019 19:09:03 +0800
Subject: [PATCH] 3335 灵根开发
---
System/Role/ReikiRootModel.cs | 53 +++++++++++++++++++++++++++++++++++------------------
1 files changed, 35 insertions(+), 18 deletions(-)
diff --git a/System/Role/ReikiRootModel.cs b/System/Role/ReikiRootModel.cs
index d228154..b1cd453 100644
--- a/System/Role/ReikiRootModel.cs
+++ b/System/Role/ReikiRootModel.cs
@@ -53,6 +53,8 @@
public const int FUNCTION = 36;
+ public readonly Redpoint redpoint = new Redpoint(10101, 1010101);
+
public event Action onCacheFreePointRefresh;
public event Action onReikiRootPointRefresh;
@@ -104,11 +106,14 @@
m_RecommendReikiRoots.Add(job, new List<int>(m_RecommendProportion[job].Keys));
}
- reikiRoots.Add((int)AttrEnum.Mater);
- reikiRoots.Add((int)AttrEnum.Wood);
- reikiRoots.Add((int)AttrEnum.Water);
- reikiRoots.Add((int)AttrEnum.Fire);
- reikiRoots.Add((int)AttrEnum.Earth);
+ var config = ReikiRootConfig.GetValues()[0];
+ maxQuality = config.qualityArea.Length;
+
+ reikiRoots.Add((int)PropertyType.Mater);
+ reikiRoots.Add((int)PropertyType.Wood);
+ reikiRoots.Add((int)PropertyType.Water);
+ reikiRoots.Add((int)PropertyType.Fire);
+ reikiRoots.Add((int)PropertyType.Earth);
}
@@ -136,11 +141,7 @@
public int GetReikiRootQuality(int id)
{
- if (m_ReikiRootPoints.ContainsKey(id))
- {
- return GetReikiRootQuality(id, m_ReikiRootPoints[id]);
- }
- return GetReikiRootQuality(id, 0);
+ return GetReikiRootQuality(id, GetReikiRootPoint(id));
}
public int GetReikiRootPoint(int id)
@@ -188,9 +189,9 @@
if (m_RecommendReikiRoots.ContainsKey(job))
{
var reikiRoots = m_RecommendReikiRoots[job];
- reikiRoots.Sort(QualityCompare);
while (remainPoint > 0)
{
+ reikiRoots.Sort(QualityCompare);
var id = reikiRoots[0];
var quality = GetReikiRootQuality(id, m_CacheReikiRootPoints[id]);
var addpoint = 0;
@@ -267,7 +268,7 @@
{
propertyDict.Add(config.propertyPerPoint.x, 0);
}
- propertyDict[config.propertyPerPoint.x] += config.propertyPerPoint.y;
+ propertyDict[config.propertyPerPoint.x] += config.propertyPerPoint.y * point;
if (!propertyDict.ContainsKey(config.promoteProperty))
{
@@ -316,13 +317,16 @@
int QualityCompare(int lhs, int rhs)
{
- var lhsQuality = GetReikiRootQuality(lhs);
- var rhsQuality = GetReikiRootQuality(rhs);
- if (mainReikiRoot == lhs || mainReikiRoot == rhs)
+ var lhsQuality = GetReikiRootQuality(lhs, GetReikiRootCachePoint(lhs));
+ var rhsQuality = GetReikiRootQuality(rhs, GetReikiRootCachePoint(rhs));
+ if (lhs != rhs)
{
- if (lhsQuality == rhsQuality)
+ if (mainReikiRoot == lhs || mainReikiRoot == rhs)
{
- return mainReikiRoot == lhs ? -1 : 1;
+ if (lhsQuality == rhsQuality)
+ {
+ return mainReikiRoot == lhs ? -1 : 1;
+ }
}
}
return lhsQuality.CompareTo(rhsQuality);
@@ -339,6 +343,9 @@
case PlayerDataType.CDBPlayerRefresh_Earth:
RefreshReikiRootPoint();
break;
+ case PlayerDataType.FreePoint:
+ RefreshRedpoint();
+ break;
}
}
@@ -346,13 +353,23 @@
{
foreach (var id in reikiRoots)
{
- m_ReikiRootPoints[id] = (int)UIHelper.GetPropertyMapPlayerData((AttrEnum)id);
+ m_ReikiRootPoints[id] = (int)UIHelper.GetPropertyMapPlayerData((PropertyType)id);
}
if (onReikiRootPointRefresh != null)
{
onReikiRootPointRefresh();
}
}
+
+ void RefreshRedpoint()
+ {
+ var existFreePoint = false;
+ if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.ReikiRoot))
+ {
+ existFreePoint = freePoint > 0;
+ }
+ redpoint.state = existFreePoint ? RedPointState.Simple : RedPointState.None;
+ }
}
public struct ReikiRootRecommend
--
Gitblit v1.8.0