lcy
2026-01-20 a7d90746b8f3cb32dccdddea05824ff6f792b32e
441 【公会】基础主体 / 公会相关界面 公告修改
2个文件已添加
1个文件已修改
101 ■■■■■ 已修改文件
Main/System/Guild/GuildChangeBroadcastWin.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildChangeBroadcastWin.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildHallWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildChangeBroadcastWin.cs
New file
@@ -0,0 +1,88 @@
using System.Text;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 修改公告界面
/// </summary>
public class GuildChangeBroadcastWin : UIBase
{
    [SerializeField] InputField inputField;
    [SerializeField] Button okBtn;
    protected override void InitComponent()
    {
        okBtn.SetListener(() =>
        {
            string msg = inputField.text;
            if (!CheckLimit(msg, out int errorCode))
            {
                ShowErrorTip(errorCode);
                return;
            }
            SendPack(msg);
            CloseWindow();
        });
    }
    protected override void OnPreOpen()
    {
        inputField.text = string.Empty;
    }
    private void SendPack(string msg)
    {
        CA623_tagCMChangeFamilyBroadcast pack = new CA623_tagCMChangeFamilyBroadcast();
        pack.Msg = msg;
        GameNetSystem.Instance.SendInfo(pack);
    }
    private bool CheckLimit(string info, out int errorCode)
    {
        errorCode = 0;
        if (string.IsNullOrEmpty(info))
        {
            errorCode = 0;
            return false;
        }
        if (SatisfyLength(info))
        {
            errorCode = 1;
            return false;
        }
        if (DirtyWordConfig.IsDirtWord(info) || UIHelper.HasSpecCheckChat(info) || DirtyNameConfig.IsDirtName(info))
        {
            errorCode = 3;
            return false;
        }
        return true;
    }
    private bool SatisfyLength(string name)
    {
        int length = Encoding.Default.GetBytes(name).Length;
        int maxlength = inputField.characterLimit * 3;  //纯中文字数
        return length > maxlength;
    }
    private void ShowErrorTip(int _errorCode)
    {
        switch (_errorCode)
        {
            case 0:
                //空
                SysNotifyMgr.Instance.ShowTip("ChatInfoNoNull");
                break;
            case 1:
                // 长度过长
                SysNotifyMgr.Instance.ShowTip("NameError2", inputField.characterLimit);
                break;
            case 3:
                // 脏字
                SysNotifyMgr.Instance.ShowTip("NameSensitive");
                break;
        }
    }
}
Main/System/Guild/GuildChangeBroadcastWin.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2d13203d3d3b7204cb8063a9e13f605d
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/Guild/GuildHallWin.cs
@@ -50,7 +50,7 @@
            var needLV = GuildManager.Instance.GetNeedGuildJobLV((int)GuildFuncType.PublishNotice);
            if (PlayerDatas.Instance.fairyData.mine.FmLV >= needLV)
            {
                // UIManager.Instance.OpenWindow<GuildNoticeWin>();
                UIManager.Instance.OpenWindow<GuildChangeBroadcastWin>();
            }
        });