From 6205f6a3daa716ae0e2e2fbb50d2b11240d76bb9 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 10 六月 2026 18:13:48 +0800
Subject: [PATCH] 588 公会攻防战 公会旗号支持不同语言不同字数限制
---
Main/System/Guild/GuildManager.cs | 72 ++++++++++++++++++++++++++++-------
1 files changed, 57 insertions(+), 15 deletions(-)
diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index 0f77812..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; //鍏細鍙樻洿璁板綍
@@ -206,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()
{
@@ -252,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);
}
@@ -344,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;
+ }
+
@@ -390,9 +433,8 @@
return;
}
- if (emblemWord.Length > 1)
+ if (!CheckEmblemWord(emblemWord))
{
- //棰勫埗浣撹緭鍏ユ闄愬埗锛屼笉闄愪换鎰忓瓧绗﹂兘鍙兘杈撳叆1涓瓧
return;
}
@@ -485,12 +527,12 @@
return;
}
- if (GuildAtkDefBatManager.Instance.UpdateAtkDefBatLogInfo(_package))
- {
- return;
- }
-
- if (PlayerDatas.Instance.baseData.FamilyId != _package.FamilyID)
+ if (GuildAtkDefBatManager.Instance.UpdateAtkDefBatLogInfo(_package))
+ {
+ return;
+ }
+
+ if (PlayerDatas.Instance.baseData.FamilyId != _package.FamilyID)
{
return;
}
@@ -1297,4 +1339,4 @@
PublishNotice = 3,
Kick = 4,
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0