lcy
2026-06-10 6205f6a3daa716ae0e2e2fbb50d2b11240d76bb9
588 公会攻防战 公会旗号支持不同语言不同字数限制
6个文件已修改
89 ■■■■ 已修改文件
Main/System/Guild/GuildCreateWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildEmblemWin.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildManager.cs 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/GuildAtkDefBat/GuildAtkDefBatBattlePanelWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/GuildAtkDefBat/GuildAtkDefBatRecordWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/GuildAtkDefBat/GuildAtkDefBatWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildCreateWin.cs
@@ -28,7 +28,7 @@
    {
        GuildEmblemModel.Instance.CreateSelectEmblemIdChangeEvent += CreateSelectEmblemEvent;
        if (GuildEmblemModel.Instance.createEmblemWord == "")
            GuildEmblemModel.Instance.createEmblemWord = PlayerDatas.Instance.baseData.PlayerName[0].ToString();
            GuildEmblemModel.Instance.createEmblemWord = GuildManager.Instance.LimitEmblemWord(PlayerDatas.Instance.baseData.PlayerName);
        if (GuildEmblemModel.Instance.createSelectEmblemId <= 0)
            GuildEmblemModel.Instance.createSelectEmblemId = FamilyEmblemConfig.GetRandomEmblem();
Main/System/Guild/GuildEmblemWin.cs
@@ -28,6 +28,7 @@
    {
        GuildEmblemModel.Instance.ChooseEmblemIdChangeEvent += ChooseEmblemEvent;
        emblemScroller.OnRefreshCell += OnRefreshCell;
        flagNameText.characterLimit = GuildManager.Instance.GetEmblemWordCharacterLimit();
        if (functionOrder == 1)
        {
@@ -124,7 +125,12 @@
    void OnFlagNameChange(string value)
    {
        emblemWord = value;
        emblemWord = GuildManager.Instance.LimitEmblemWord(value);
        if (emblemWord != value)
        {
            flagNameText.text = emblemWord;
            return;
        }
        guildEmblem.Display(GuildEmblemModel.Instance.nowChooseEmblemId, emblemWord);
    }
@@ -135,6 +141,7 @@
    void ChangeEmblem()
    {
        emblemWord = GuildManager.Instance.LimitEmblemWord(emblemWord);
        if (functionOrder == 1)
        {
            GuildEmblemModel.Instance.createEmblemWord = emblemWord;
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,
}
}
Main/System/GuildAtkDefBat/GuildAtkDefBatBattlePanelWin.cs
@@ -188,7 +188,7 @@
            {
                string enemyName = Language.Get("GuildAtkDefBat31");
                enemyNameText.text = enemyName;
                enemyEmblemCell.Display(FamilyEmblemConfig.GetFirstDefaultEmblem(), !string.IsNullOrEmpty(enemyName) ? enemyName[0].ToString() : string.Empty, 0.7f);
                enemyEmblemCell.Display(FamilyEmblemConfig.GetFirstDefaultEmblem(), GuildManager.Instance.LimitEmblemWord(enemyName), 0.7f);
                enemyServerText.text = ServerListCenter.Instance.GetServerName(UIHelper.GetServerIDByAccount(PlayerDatas.Instance.baseData.AccID));
                enemyStarCntText.text = enemyFamilyInfo.TotalStar.ToString();
            }
Main/System/GuildAtkDefBat/GuildAtkDefBatRecordWin.cs
@@ -123,7 +123,7 @@
            {
                string enemyName = Language.Get("GuildAtkDefBat31");
                enemyGuildName.text = enemyName;
                enemyEmblem.Display(FamilyEmblemConfig.GetFirstDefaultEmblem(), !string.IsNullOrEmpty(enemyName) ? enemyName[0].ToString() : string.Empty, 0.7f);
                enemyEmblem.Display(FamilyEmblemConfig.GetFirstDefaultEmblem(), GuildManager.Instance.LimitEmblemWord(enemyName), 0.7f);
                enemyStatCnt.text = enemyFamilyInfo.TotalStar.ToString();
            }
            else
Main/System/GuildAtkDefBat/GuildAtkDefBatWin.cs
@@ -303,7 +303,7 @@
            {
                string enemyName = Language.Get("GuildAtkDefBat31");
                enemyNameText.text = enemyName;
                enemyEmblemCell.Display(FamilyEmblemConfig.GetFirstDefaultEmblem(), !enemyName.IsNullOrEmpty() ? enemyName[0].ToString() : string.Empty, 0.7f);
                enemyEmblemCell.Display(FamilyEmblemConfig.GetFirstDefaultEmblem(), GuildManager.Instance.LimitEmblemWord(enemyName), 0.7f);
                enemyServerText.text = ServerListCenter.Instance.GetServerName(UIHelper.GetServerIDByAccount(PlayerDatas.Instance.baseData.AccID));
                enemyStarCntText.text = enemyFamilyInfo.TotalStar.ToString();
            }