1
This commit is contained in:
@@ -726,11 +726,39 @@ namespace Assets.MyGame.Scripts.Net
|
||||
|
||||
/// <summary>
|
||||
/// LoginHub Broadcast — 大厅公告广播
|
||||
/// 首字符命中大喇叭标识(APIRequestList.BroadcastMarker)时按大喇叭格式渲染:
|
||||
/// 去掉标识,补"喇叭图标+打码昵称"前缀;否则原样显示为普通公告。
|
||||
/// </summary>
|
||||
public static void LoginBroadcast(string msg)
|
||||
{
|
||||
var data = JsonConvert.DeserializeObject<WebSocketResponseBase<LoginBroadcastData>>(msg).arguments[0];
|
||||
UIManager.Instance.ShowBoardGongGao(data.message);
|
||||
string message = data?.message;
|
||||
|
||||
if (!string.IsNullOrEmpty(message) && message[0] == APIRequestList.BroadcastMarker)
|
||||
{
|
||||
// 大喇叭:服务端只存了"标识+正文",昵称从广播数据取,展示时再拼接前缀
|
||||
string content = message.Substring(1);
|
||||
string userName = data.userName;
|
||||
if (string.IsNullOrEmpty(userName)) userName = "玩家";
|
||||
UIManager.Instance.ShowBoardGongGao($"<sprite index=0>【{MaskBroadcastName(userName)}】:{content}");
|
||||
}
|
||||
else
|
||||
{
|
||||
// 普通公告:原样显示
|
||||
UIManager.Instance.ShowBoardGongGao(message);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 玩家名打码(大喇叭展示格式):保留首尾字符、中间一个 *("小金鱼"→"小*鱼")。
|
||||
/// 与 GameMainPanel_FishBase / UIHome_BY_BackPackPanel 同格式。
|
||||
/// </summary>
|
||||
private static string MaskBroadcastName(string name)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name)) return name;
|
||||
name = name.Trim();
|
||||
if (name.Length <= 1) return name;
|
||||
return name[0] + "*" + name[name.Length - 1];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user