package methods // // 大地图入口(传送点 / 地铁站)的四条 S2C —— 2026-09-27 从 kpect 捐赠端移植。 // ⛑ 字段与线宽一律以客户端 RPCDeserializeAuto.lua 的 midToReader[n] 为准 // (硬规则 209),不是 dump.cs: // // [64067363] openEntrance = ReadList7Bit(u32); displayableEntrances = ReadList7Bit(u32) // [64239821] mapEntranceId = ReadUInt32; isOpen = ReadBoolean; isShow = ReadBoolean // [64660858] fare = ReadUInt32 // // 全是裸基本类型 / 列表,没有 complex 头 ⇒ 契约必须 Inline = true, // 多一个 0xFF 就会把第一个入口 id 整体错位。 // ⛑ SyncPrepareMapEntrance(64610549) 在客户端 lua 里没有 reader // (只在 RPCMethodIdToName / MethodIds.json 出现),kpect 是靠 // UXRPCMethodArgs64610549.entrance 的 typeIdx 反查成 uint32 的。 // 所以它有可能是 C# 侧消费(CSharpOnly)—— 这条只能实机验,故做成可关开关。 // // SyncMapEntrance (64067363):全量清单。openEntrance = 已解锁,displayableEntrances = 可见。 // UpdateMapEntrance (64239821):单点开关(isOpen = 解锁,isShow = 可见)。 // SyncPrepareMapEntrance (64610549):单点「准备」(推测是交通层入口的注册步骤)。 // SyncSubwayFare (64660858):地铁票价。客户端流程「选站 → 搭乘 → 支付 → 过场 → 传送」。 // // AskTouchMapEntrance (63284182) 的 C2S 载荷:raidId @0 + mapEntranceId @4(小端裸值)。 // 客户端 ClientToGameDelegate.AskTouchMapEntrance 是 Notify(void,不等回包), // 调用点是 MapCsApi.Legacy_DoFightMapEntrance(gRaidDataManager.RaidId, mapEntranceId)。 //