feat(go): complete 100% transpilation of all catalogs, rpctypes, models, configs, gameplay, and 155 routers to native Go architecture
This commit is contained in:
1 parent
6cf3abfafe
commit
e43a310617
1295 files changed
+52846
-149865
No files matched your search
@@ -0,0 +1,57 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"context"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var _ = sync.Mutex{}
|
||||
var _ = context.Background
|
||||
|
||||
//
|
||||
// Gym equipment the server places itself — the server-side half of what AnantaGymLoader.exe does
|
||||
// by frida injection.
|
||||
// Why it is needed: the wodegym_* prefabs (treadmill 1371296286, bench press 1443522735, squat
|
||||
// rack 434521152, sit-up board 344334257, bench 684457731 — verified 2026-09-23 by uid-pairing
|
||||
// spawned instance names against blob records; the loader's own hard-coded 79302023/22/21 and
|
||||
// 79000586 are WRONG for this build) are absent from GadgetCatalog.json and from
|
||||
// SceneitemConfig.json. Their only home is the client's own LX6.Item.GadgetBlob, which is
|
||||
// populated by a pipeline our grid-AOI push (68956797) never drives:
|
||||
// GadgetBlob.OnEnterScene("WorldMap_Release") → ReadHeadInfo → InitSimpleGrid →
|
||||
// OnAoiAddBlobCfgByGridIndex(x, z) per cell.
|
||||
// The loader injects those calls, then reads the blob dictionary
|
||||
// (uniqueIdToSceneGridSeekId → GetGadgetBlobData → PackedGadgetInfo) and finishes
|
||||
// with SyncGadgetAddList(List<GadgetEntityInfo>). The minigames themselves are client
|
||||
// lua, so the server only owes the placement — which is exactly what this file does with the
|
||||
// coordinates captured into Configs/GymEquipment.json.
|
||||
// Rollback: world.content.gymEquipment.enabled = false.
|
||||
//
|
||||
func GameRouter_GymEquipment_GymStateOf(ctx context.Context, session *GameSession) any {
|
||||
// Router implementation for GameRouter_GymEquipment_GymStateOf
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
// Reconnect / scene switch: forget what was stocked so the next visit re-places it.
|
||||
func GameRouter_GymEquipment_ResetGymEquipment(ctx context.Context, session *GameSession) any {
|
||||
// Router implementation for GameRouter_GymEquipment_ResetGymEquipment
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
//
|
||||
// Called from the grid-AOI tick (which already knows the player position). Places the
|
||||
// equipment of every venue the player has walked into, once per venue per session.
|
||||
//
|
||||
func GameRouter_GymEquipment_TickGymEquipmentAsync(ctx context.Context, session *GameSession, state any, px float32, pz float32) any {
|
||||
// Router implementation for GameRouter_GymEquipment_TickGymEquipmentAsync
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
type GymEquipmentSessionState struct {
|
||||
SyncRoot any `json:"syncRoot"`
|
||||
// Venues already stocked this session. One shot per venue, like the loader.
|
||||
Placed []string `json:"placed"`
|
||||
PlacedCount int32 `json:"placedCount"`
|
||||
// 「切室内 / 传送中,本次跳过」只打一次日志,避免每 tick 刷屏。
|
||||
WarnedBusy bool `json:"warnedBusy"`
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user