From a7d90746b8f3cb32dccdddea05824ff6f792b32e Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 20 一月 2026 19:33:41 +0800
Subject: [PATCH] 441 【公会】基础主体 / 公会相关界面 公告修改
---
Main/System/Guild/GuildHallWin.cs | 2
Main/System/Guild/GuildChangeBroadcastWin.cs | 88 ++++++++++++++++++++++++++++++++++++++++++++
Main/System/Guild/GuildChangeBroadcastWin.cs.meta | 11 +++++
3 files changed, 100 insertions(+), 1 deletions(-)
diff --git a/Main/System/Guild/GuildChangeBroadcastWin.cs b/Main/System/Guild/GuildChangeBroadcastWin.cs
new file mode 100644
index 0000000..dde5d6c
--- /dev/null
+++ b/Main/System/Guild/GuildChangeBroadcastWin.cs
@@ -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;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Main/System/Guild/GuildChangeBroadcastWin.cs.meta b/Main/System/Guild/GuildChangeBroadcastWin.cs.meta
new file mode 100644
index 0000000..1815a27
--- /dev/null
+++ b/Main/System/Guild/GuildChangeBroadcastWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2d13203d3d3b7204cb8063a9e13f605d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Guild/GuildHallWin.cs b/Main/System/Guild/GuildHallWin.cs
index fd1a187..51bdf38 100644
--- a/Main/System/Guild/GuildHallWin.cs
+++ b/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>();
}
});
--
Gitblit v1.8.0