package methods
//
// Client -> GameSceneGM GmSpawnVehicle(uint32 templateid, UXVector3 position, float facing,
// uint32 suitid, bool loadownvehicle, string spoonname).
// From ClientToGameSceneGMDelegate.lua (build 4229938). Returns u64 entity id.
//
//
// Client -> GameSceneGM GmAddEnemyWithPosition(uint32 enemyid, byte camp-enum92,
// UXVector3 position, uint32 navtagtype, bool outsideaoimove). Returns u64 entity id.
//
//
// Client -> GameSceneGM GmAddEnemy(uint32 enemyid, byte camp-enum92, string treename,
// uint32 navtagtype, bool outsideaoimove). Returns u64 entity id.
//
//
// Client -> GameSceneGM GmAddEnemyByPlayer(uint32 enemyid, byte camp-enum92).
// Returns u64 entity id.
//
//
// Client -> GameSceneGM GmAddNpc(uint32 npcid, uint32 plotid). Returns u64 entity id.
// Two plain uint32s and no enum parameter, which makes this the one C2S GM command the
// ALT+F1 console bridge can actually serialize: every Gm* command carrying a UnitCamp /
// navtagtype argument reaches the serializer with that argument set to nil and dies in
// RPCSerializeBase.CheckEnum (verified 2026-09-16, RPCSerializeBase.lua:282).
//
//
// Client -> GameSceneGM GmTeleportXYZ(float x, float y, float z, float facing).
// Returns void.
//
// ─────────────────────────────────────────────────────────────────────────────
// Aether 氛围层(2026-09-24 自捐赠端 DremkaPS 移植,其 GameScene/GmMethods.cs)
//
// 这一对进本服的理由很具体:GmGetAmbianceEnabled 是 0 字节的 INVOKE ——
// 客户端在 await 一个返回值。不接它,控制台按下去就会一直卡到超时(规则 94:
// Invoke 类没有 handler 会让客户端 await 卡死)。抓包里它出现过 2 次。
// ─────────────────────────────────────────────────────────────────────────────
// Client -> GameSceneGM GmSetAmbianceEnabled(bool enabled, int32 type),mid 69166506。返回 void。