From c591cb6e215ea5e762560afdae059f1d4fd7f4ec Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 28 九月 2018 16:32:37 +0800
Subject: [PATCH] Merge branch 'master' into 3687天赋功能
---
System/Dogz/DogzModel.cs | 82 +++++++++++++++++++++++++++++-----------
1 files changed, 59 insertions(+), 23 deletions(-)
diff --git a/System/Dogz/DogzModel.cs b/System/Dogz/DogzModel.cs
index df9e3fe..450a830 100644
--- a/System/Dogz/DogzModel.cs
+++ b/System/Dogz/DogzModel.cs
@@ -19,6 +19,7 @@
public void OnBeforePlayerDataInitialize()
{
+ curSumAssistNum = DogzAssistDefaultCnt;
addAssistCnt = 0;
SelectDogzItemQuality = 0;
SelectDogzItemStart = 0;
@@ -51,7 +52,7 @@
#region 閰嶇疆
private Dictionary<int, Dictionary<int, int>> m_DogzEquipLimit = new Dictionary<int, Dictionary<int, int>>(); //瑁呭浣� 鍝佽川闄愬埗
- public int DogzAssistDefaultCnt { get; private set; } //鍔╂垬绁炲吔鎬绘暟
+ public int DogzAssistDefaultCnt { get; private set; } //鍔╂垬绁炲吔榛樿鏁伴噺
public int DogzAssistMaxCnt { get; private set; }//鍔╂垬绁炲吔鏈�澶ф暟
public int AddAssistItem { get; private set; } //澧炲姞鍔╂垬绁炲吔鎬绘暟鐨勭墿鍝両d
public int DogzPackGridCnt { get; private set; } //绁炲吔鐗╁搧鑳屽寘鏍煎瓙鏁�
@@ -217,7 +218,27 @@
public int GetAssistItemCnt()
{
- return AddAssistItemCnt[addAssistCnt];
+ if(!IsAddMaxAssist())
+ {
+ return AddAssistItemCnt[addAssistCnt];
+ }
+ else
+ {
+
+ return AddAssistItemCnt[AddAssistItemCnt.Length - 1];
+ }
+ }
+
+ public bool IsAddMaxAssist()
+ {
+ if (curSumAssistNum < DogzAssistMaxCnt)
+ {
+ return false;
+ }
+ else
+ {
+ return true;
+ }
}
public int presentSelectDogz { get; set; } //褰撳墠閫変腑鐨勭鍏絠d
@@ -253,10 +274,11 @@
#region 鍗忚
public int addAssistCnt { get; private set; } //棰濆璐拱鐨勫姪鎴樻暟
+ public int curSumAssistNum { get; private set; } //褰撳墠鍙互鍔╂垬鐨勭鍏芥暟閲�
public void SetServerAddAssistDogzCnt(HA3C0_tagMCDogzInfo info)
{
addAssistCnt = info.BuyHelpbattleCount;
- DogzAssistDefaultCnt += addAssistCnt;
+ curSumAssistNum = DogzAssistDefaultCnt + addAssistCnt;
if (UpdateAssistDogzEvent != null)
{
UpdateAssistDogzEvent();
@@ -695,13 +717,26 @@
{
var configs = Config.Instance.GetAllValues<DogzConfig>();
presentSelectDogz = configs[0].ID;
- foreach (var key in m_DogzEquipLimit.Keys)
+ if(dogzFuncRedpoint.state == RedPointState.Simple)
{
- Redpoint redpoint = GetSingleDogzRedpointById(key);
- if (redpoint.state == RedPointState.Simple)
+ foreach (var key in m_DogzEquipLimit.Keys)
{
- presentSelectDogz = key;
- break;
+ Redpoint redpoint = GetSingleDogzRedpointById(key);
+ if (redpoint.state == RedPointState.Simple)
+ {
+ presentSelectDogz = key;
+ break;
+ }
+ }
+ }
+ else
+ {
+ foreach(var key in dogzAssistStateDict.Keys)
+ {
+ if(TryGetAssistDogzState(key))
+ {
+ presentSelectDogz = presentSelectDogz > key ? presentSelectDogz : key;
+ }
}
}
}
@@ -775,19 +810,19 @@
{
value.state = RedPointState.None;
}
- bool isMaxAssistNum = GetAssistDogzCount() >= DogzAssistDefaultCnt ? true : false;
+ bool isMaxAssistNum = GetAssistDogzCount() >= curSumAssistNum ? true : false;
+ int minAlreadyAssistId = 0;
+ foreach (var dogzId in m_DogzEquipLimit.Keys)
+ {
+ if (TryGetAssistDogzState(dogzId)
+ && ((minAlreadyAssistId > dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
+ {
+ minAlreadyAssistId = dogzId;
+ }
+ }
+
if (!isMaxAssistNum)
{
- int minAlreadyAssistId = 0;
- foreach (var dogzId in m_DogzEquipLimit.Keys)
- {
- if (TryGetAssistDogzState(dogzId)
- && ((minAlreadyAssistId < dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
- {
- minAlreadyAssistId = dogzId;
- }
- }
-
int maxDogzId = 0;
foreach(var dogzId in m_DogzEquipLimit.Keys)
{
@@ -815,7 +850,8 @@
{
var equips = GetDogzEquips(dogzId);
int equipNum = equips == null ? 0 : equips.Count;
- if(!TryGetAssistDogzState(dogzId) && equipNum == 5)
+ if(!TryGetAssistDogzState(dogzId) && equipNum == 5
+ && ((minAlreadyAssistId != 0 && dogzId > minAlreadyAssistId) || minAlreadyAssistId == 0))
{
Redpoint assistRedpoint = GetDogzAssistRedpointById(dogzId);
if (assistRedpoint.state == RedPointState.None)
@@ -845,7 +881,7 @@
return;
}
}
- bool isMaxAssistNum = GetAssistDogzCount() >= DogzAssistDefaultCnt ? true : false;
+ bool isMaxAssistNum = GetAssistDogzCount() >= curSumAssistNum ? true : false;
if (!isMaxAssistNum)
{
int maxEquipNum = 0;
@@ -903,7 +939,7 @@
foreach (var dogzId in m_DogzEquipLimit.Keys)
{
if(TryGetAssistDogzState(dogzId)
- && ((minAlreadyAssistId < dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
+ && ((minAlreadyAssistId > dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
{
minAlreadyAssistId = dogzId;
}
@@ -960,7 +996,7 @@
public void UpdateAssistNumRed()
{
- if(CheckIsAddAssistNum())
+ if(CheckIsAddAssistNum() && !IsAddMaxAssist())
{
if(addAssistDogzRedpoint.state == RedPointState.None)
{
--
Gitblit v1.8.0