diff --git a/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs b/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs
index d421c7282..b8a3e36fb 100644
--- a/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs
+++ b/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs
@@ -1815,6 +1815,14 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
// 发送成功:清空输入框并关闭面板(广播内容会通过 LoginBroadcast 全服弹幕显示)
if (tmp_DaLaBaInput != null) tmp_DaLaBaInput.text = "";
if (obj_DaLaBaPanel != null) obj_DaLaBaPanel.SetActive(false);
+ // ⭐ 发送成功=服务端已扣大喇叭:拉最新背包(此 API 不推 BackpackUpdated,
+ // 不主动拉道具数量就不会刷新,得关面板重开才能看到);UpdataUserData 触发
+ // OnUserDataChanged 实时刷新道具菜单数量
+ APIRequestList.GetUser((user) =>
+ {
+ if (user != null)
+ GameManager.Instance.UpdataUserData(user);
+ });
});
}
@@ -2264,7 +2272,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
string fishName = string.IsNullOrEmpty(data.fishTypeName)
? (data.fishType == 2 ? "Boss鱼" : "黄金鱼")
: data.fishTypeName;
- UIManager.Instance.ShowBoardError($"{data.userName} 使用召唤卡召唤了一条{fishName}");
+ // ⭐ 玩家名打码:保留首尾字、中间显示 ***("我是大帅哥"→"我***哥")
+ UIManager.Instance.ShowBoardError($"{MaskUserName(data.userName)} 使用召唤卡召唤了一条{fishName}");
// ⭐ 检索召唤鱼:guid = 服务端 fishId.ToString()(与 fishDatas_hashCodekey 的 key 一致)
_summonFishGuid = data.fishId.ToString();
@@ -2280,6 +2289,18 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
}
}
+ ///
+ /// 玩家名打码:保留首尾字符、中间显示 ***("我是大帅哥"→"我***哥")。
+ /// 两个字的名字也打码("大帅"→"大***帅");单字/空名原样返回。
+ ///
+ private static string MaskUserName(string name)
+ {
+ if (string.IsNullOrEmpty(name)) return name;
+ name = name.Trim();
+ if (name.Length <= 1) return name;
+ return name[0] + "***" + name[name.Length - 1];
+ }
+
/// 按 guid 检索召唤鱼(guid = 服务端 fishId.ToString(),OnFishSpawn 建鱼时写入)
private bool TryGetSummonFish(string guid, out MonsterContral monster)
{