From bcbbdae9f85dbb3efd58f0eaafe9f548caa5d923 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 10 六月 2026 18:14:00 +0800
Subject: [PATCH] 588 公会攻防战 移除多余using DG.DemiEditor
---
Main/System/Guild/GuildManager.cs | 125 +++++++++++++++++++++++++++++++++++++----
1 files changed, 111 insertions(+), 14 deletions(-)
diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index 4890e77..8265ced 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/Main/System/Guild/GuildManager.cs
@@ -3,12 +3,12 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
-using Cysharp.Threading.Tasks;
-using LitJson;
-using UnityEngine;
-
-
-public partial class GuildManager : GameSystemManager<GuildManager>
+using Cysharp.Threading.Tasks;
+using LitJson;
+using UnityEngine;
+
+
+public partial class GuildManager : GameSystemManager<GuildManager>
{
// 瀹舵棌鑷畾涔夎褰曠被鍨�
public const int MemberChangeActionType = 12; //鍏細鍙樻洿璁板綍
@@ -173,7 +173,24 @@
//鐝嶅疂闃�(琛屽晢)
- public int zhenbaogeCutState = 0;
+ int m_ZhenbaogeCutState = 0;
+ public int zhenbaogeCutState
+ {
+ get
+ {
+ if (familyZBGActions.Count - 1 >= 50)
+ {
+ //鐮嶄环浜烘暟瓒呰繃涓婇檺鍚庡彲鐩存帴璐拱
+ m_ZhenbaogeCutState = 1;
+ }
+ return m_ZhenbaogeCutState;
+ }
+ set
+ {
+
+ m_ZhenbaogeCutState = value;
+ }
+ }
public int zhenbaogeBuyState = 0;
public bool needCheckCutCD = false;
public event Action UpdateZhenbaogeEvent;
@@ -189,6 +206,8 @@
public int zbgChangFamilyCD;
public List<int> cutCntListForTalk = new List<int>();
public int familyRecordMaxCount;
+ public const int DefaultEmblemWordCharacterLimit = 1;
+ public Dictionary<string, int> emblemWordCharacterLimitDict = new Dictionary<string, int>();
void ParseConfig()
{
@@ -235,6 +254,9 @@
config = FuncConfigConfig.Get("FamilyBillboardSet");
pageCnt = int.Parse(config.Numerical1);
queryPointNum = int.Parse(config.Numerical2);
+
+ config = FuncConfigConfig.Get("FamilyEmblem");
+ emblemWordCharacterLimitDict = JsonMapper.ToObject<Dictionary<string, int>>(config.Numerical1);
}
@@ -327,6 +349,44 @@
});
}
+ public int GetEmblemWordCharacterLimit()
+ {
+ string langId = Language.Id;
+ if (!string.IsNullOrEmpty(langId) && emblemWordCharacterLimitDict.TryGetValue(langId, out int limit) && limit > 0)
+ {
+ return limit;
+ }
+
+ return DefaultEmblemWordCharacterLimit;
+ }
+
+ public string LimitEmblemWord(string emblemWord)
+ {
+ if (string.IsNullOrEmpty(emblemWord))
+ {
+ return string.Empty;
+ }
+
+ int limit = GetEmblemWordCharacterLimit();
+ if (emblemWord.Length <= limit)
+ {
+ return emblemWord;
+ }
+
+ return emblemWord.Substring(0, limit);
+ }
+
+ bool CheckEmblemWord(string emblemWord)
+ {
+ if (string.IsNullOrEmpty(emblemWord))
+ {
+ return true;
+ }
+
+ int limit = GetEmblemWordCharacterLimit();
+ return emblemWord.Length <= limit;
+ }
+
@@ -354,7 +414,7 @@
punishTime = quitGuildPunishTime[Math.Min(quitCount, quitGuildPunishTime.Length - 1)];
}
- return punishTime * 60 - (TimeUtility.GetCommServerTick(zoneID)- PlayerDatas.Instance.baseData.leaveFamilyTime);
+ return punishTime * 60 - (TimeUtility.GetCommServerTick(zoneID) - PlayerDatas.Instance.baseData.leaveFamilyTime);
}
@@ -373,9 +433,8 @@
return;
}
- if (emblemWord.Length > 1)
+ if (!CheckEmblemWord(emblemWord))
{
- //棰勫埗浣撹緭鍏ユ闄愬埗锛屼笉闄愪换鎰忓瓧绗﹂兘鍙兘杈撳叆1涓瓧
return;
}
@@ -462,7 +521,18 @@
#region 鍏細鑷畾涔夎褰�
public void UpdateFamilyAction(HA513_tagMCFamilyActionInfo _package)
{
- if (PlayerDatas.Instance.baseData.FamilyId != _package.FamilyID)
+ // 鍏細鏀婚槻鎴� 闇�瑕佸悓鏃舵帴鏀舵晫鏂规敾鍑绘棩蹇�
+ if (GuildAtkDefBatManager.Instance.UpdateFamilyActionInfo(_package))
+ {
+ return;
+ }
+
+ if (GuildAtkDefBatManager.Instance.UpdateAtkDefBatLogInfo(_package))
+ {
+ return;
+ }
+
+ if (PlayerDatas.Instance.baseData.FamilyId != _package.FamilyID)
{
return;
}
@@ -672,14 +742,41 @@
#region 鏌ョ湅鐩爣鍏細
public Dictionary<int, FairyData> viewGuildsDict = new Dictionary<int, FairyData>();
- public event Action OnUpdateViewFamilyInfo;
+ public event Action<int> OnUpdateViewFamilyInfo;
public void UpdateViewFamilyInfo(HA519_tagSCTagFamilyInfo pack)
{
FairyData data = new FairyData();
SetFairyViewData(data, pack);
+
+ // 瀛樺偍骞舵帓搴忔垚鍛樺垪琛�
+ var memberList = new List<HA519_tagSCTagFamilyInfo.tagSCTagFamilyInfoMem>(pack.MemberList);
+ memberList.Sort((a, b) =>
+ {
+ // 涓绘帓搴忥細鑱屽姟闄嶅簭锛�3-鏃忛暱 > 2-鍓棌闀� > 1-绮捐嫳 > 0-鎴愬憳锛�
+ int jobCompare = b.FmLV.CompareTo(a.FmLV);
+ if (jobCompare != 0) return jobCompare;
+ // 娆℃帓搴忥細鎴樺姏闄嶅簭
+ long powerA = a.FightPowerEx * Constants.ExpPointValue + a.FightPower;
+ long powerB = b.FightPowerEx * Constants.ExpPointValue + b.FightPower;
+ return powerB.CompareTo(powerA);
+ });
+ data.memberList = memberList;
+
viewGuildsDict[(int)data.FamilyID] = data;
- OnUpdateViewFamilyInfo?.Invoke();
+ OnUpdateViewFamilyInfo?.Invoke((int)data.FamilyID);
+ }
+
+ /// <summary>
+ /// 鑾峰彇鎸囧畾鍏細鐨勬帓搴忓悗鐨勬垚鍛樺垪琛紙鑱屽姟闄嶅簭 鈫� 鎴樺姏闄嶅簭锛�
+ /// </summary>
+ public List<HA519_tagSCTagFamilyInfo.tagSCTagFamilyInfoMem> GetSortedMemberList(int familyID)
+ {
+ if (viewGuildsDict.TryGetValue(familyID, out var data))
+ {
+ return data.memberList;
+ }
+ return null;
}
public static void SetFairyViewData(FairyData data, HA519_tagSCTagFamilyInfo view)
@@ -1242,4 +1339,4 @@
PublishNotice = 3,
Kick = 4,
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0