This commit is contained in:
2026-07-29 22:59:26 +08:00
parent 61f490c4b4
commit b5ff32c7e1
19 changed files with 535 additions and 209 deletions
@@ -57,11 +57,15 @@ namespace Assets.MyGame.Scripts.Net
/// <param name="msg"></param>
public static void RoomJoinNotice(string msg)
{
// ⭐ 记录金币流水:收到 RoomJoinNotice 推送
// ⭐ 记录金币流水:收到加钱信息(RoomJoinNotice 推送,尚未执行)—— 只记录自己
try
{
var notice = JsonConvert.DeserializeObject<WebSocketResponseBase<RoomJoinNotice>>(msg).arguments[0];
GameManager.LogGoldFlow("RoomJoinNotice", $"推送金币={notice.gold} 钻石={notice.diamond} 炮台消耗={notice.cannonMultiple} 座位={notice.position}");
string myId = GameManager.Instance.user?.id;
if (!string.IsNullOrEmpty(myId) && notice.userId == myId)
{
GameManager.LogGoldFlowReceiveGain("RoomJoinNotice", $"推送金币={notice.gold} 钻石={notice.diamond} 炮台消耗={notice.cannonMultiple} 座位={notice.position}");
}
}
catch { }
@@ -226,22 +230,35 @@ namespace Assets.MyGame.Scripts.Net
var panel = UIManager.Instance.Get<GameMainPanel_FishBase>(panelType);
if (panel == null || panel.currSitData == null) return;
long oldGold = panel.currSitData.goldNum;
long diff = gold - oldGold;
// ⭐ 记录金币流水:收到后端推送 SyncPlayerGold(尚未执行)
if (diff > 0)
GameManager.LogGoldFlowReceiveGain("SyncPlayerGold", $"推送金币={gold} 修正前金币={oldGold} 差值=+{diff} 座位={panel.currSitData.posID}");
else if (diff < 0)
GameManager.LogGoldFlowReceiveCost("SyncPlayerGold", $"推送金币={gold} 修正前金币={oldGold} 差值={diff} 座位={panel.currSitData.posID}");
panel.currSitData.goldNum = gold;
if (panel.currSitData.tMP_GoldNum != null)
panel.currSitData.tMP_GoldNum.text = gold.ToString();
// ⭐ 记录金币流水:后端推送 SyncPlayerGold 修正
GameManager.LogGoldFlow("SyncPlayerGold", $"推送金币={gold} 修正前金币={oldGold} 差值={gold - oldGold} 座位={panel.currSitData.posID}");
// ⭐ 记录金币流水:已执行修正(本地已写入)
if (diff > 0)
GameManager.LogGoldFlowAppliedGain("SyncPlayerGold", $"已修正金币={gold} 修正前金币={oldGold} 增加金币=+{diff} 座位={panel.currSitData.posID}");
else if (diff < 0)
GameManager.LogGoldFlowAppliedCost("SyncPlayerGold", $"已修正金币={gold} 修正前金币={oldGold} 扣除金币={diff} 座位={panel.currSitData.posID}");
}
public static void GetRoomInfoResult(string msg)
{
//GameManager.Instance.StartGame();RoomChangeResponse
var roomData = JsonConvert.DeserializeObject<WebSocketResponseBase<RoomChangeResponse>>(msg).arguments[0];
// ⭐ 记录金币流水:收到 RoomInfo 推送
// ⭐ 记录金币流水:收到加钱信息(RoomInfo 推送玩家金币,尚未执行)—— 只记录自己
if (roomData?.players != null)
{
string myId = GameManager.Instance.user?.id;
foreach (var p in roomData.players)
{
GameManager.LogGoldFlow("RoomInfo", $"推送金币={p.gold} 钻石={p.diamond} 炮台消耗={p.cannonMultiple} 座位={p.position} 房间={roomData.roomId}");
if (string.IsNullOrEmpty(myId) || p.userId != myId) continue;
GameManager.LogGoldFlowReceiveGain("RoomInfo", $"推送金币={p.gold} 钻石={p.diamond} 炮台消耗={p.cannonMultiple} 座位={p.position} 房间={roomData.roomId}");
}
}
UIHome_BY_SelectRoomLevelPanel.StartGame(roomData);
@@ -1074,6 +1091,21 @@ namespace Assets.MyGame.Scripts.Net
public string title;
public string emailId;
}
/// <summary>
/// FishGameHub Exception 数据({code, message})
/// code: 0=未知错误
/// 1001=房间已满 1002=金币不足 1003=房间不存在 1004=玩家不在房间
/// 1005=签名错误 1006=请求已过期 1007=鱼配置不存在 1008=子弹参数无效
/// 1009=金币参数超出范围 1011=用户不存在 1012=道具配置不存在
/// 1013=道具数量不足 1014=钻石不足 1015=炮倍参数无效
/// </summary>
[Serializable]
public class FishGameExceptionData
{
public int code;
public string message;
}
}
}