| New file |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |