package methods // // 钓鱼小游戏(build 4229938)的两条契约:AskFishingSpotFullSync(63275440) 的回包。 // ★ 字段顺序 = wire 布局,不许重排。权威来源是客户端 // LuaGen/AutoGen/RPCSerializeAuto.lua(不是 dump.cs —— 硬规则 209:dumper 会丢字段): // // :4256 Auto.WriteFishingSpotFishClientInfo = function(writer, val) // Id(u32) / FishConfigId(u32) / Weight(f32) / Length(f32) // :4263 Auto.WriteFishingSpotFullSyncInfo = function(writer, val) // FishGroupId(u32) / Fishes(List7Bit of Complex) / LastRefreshTime(u32) // / LastResetTime(u32) / MaxCount(u32) // // ⛑ 形状:这是单 class 参数的 INVOKE 回包 ⇒ 非 Inline,顶层由框架写 // 0xFF presence(硬规则 145 / TOPIC_序列化UxContract.md)。 // ⛑ 列表计数是 WriteList7Bit = Int7 偏置(框架内 UxCountEncoding.Int7), // 元素带 presence 字节 ⇒ ItemObjectEncoding = Complex(硬规则 210)。 // // 池子里的一条鱼。Id 是服务端分配的实例 id,FishConfigId 是 FishingFishConfig 的 id。 // // 整个钓点的鱼群快照。客户端 FishingGameManager.BuildSpotPoolFromInfo 直接吃这五个字段; // poolCount 来自 Fishes 的实际条数 —— 为 0 时 FishingGame.lua:56 直接 // CleanGame()(极性翻转前是 ~= 0),所以服务端必须发非空鱼群。 //