28 lines
1.7 KiB
Go
28 lines
1.7 KiB
Go
package methods
|
||
|
||
//
|
||
// 大地图入口(传送点 / 地铁站)的四条 S2C —— 2026-09-27 从 kpect 捐赠端移植。
|
||
// ⛑ 字段与线宽一律以客户端 RPCDeserializeAuto.lua 的 midToReader[n] 为准
|
||
// (硬规则 209),不是 dump.cs:
|
||
// <code>
|
||
// [64067363] openEntrance = ReadList7Bit(u32); displayableEntrances = ReadList7Bit(u32)
|
||
// [64239821] mapEntranceId = ReadUInt32; isOpen = ReadBoolean; isShow = ReadBoolean
|
||
// [64660858] fare = ReadUInt32
|
||
// </code>
|
||
// 全是裸基本类型 / 列表,没有 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)。
|
||
//
|