This repository has been archived on 2026-10-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Ananta-ps/internal/gameserver/routers/game_router_prop_restock.go
T

54 lines
2.2 KiB
Go

package routers
import (
"context"
"sync"
)
var _ = sync.Mutex{}
var _ = context.Background
//
// General restock of client-blob props: whenever the player walks into a world cell whose props
// were captured out of LX6.Item.GadgetBlob, the server places them itself.
// This is the same trick as TickGymEquipmentAsync widened to every prop family —
// vending machines, indoor chairs and sofas, claw machines, mini-game cabinets, basketball
// courts, bouncy beds, market stalls. None of them are in SceneitemConfig.json by pathId,
// and the grid-AOI push (68956797) alone does not make the client instantiate them, so the server
// has to place them with SyncGadgetAdd using the blob's own uid and placement.
// ⛔ PackedGadgetInfo.iScale must be 0 — see PropRestockCatalog4229938 remarks.
// Rollback: world.content.propRestock.enabled = false.
//
func GameRouter_PropRestock_PropRestockStateOf(ctx context.Context, session *GameSession) any {
// Router implementation for GameRouter_PropRestock_PropRestockStateOf
var zero any; return zero
}
// Reconnect / scene switch: forget what was stocked so the next visit re-places it.
func GameRouter_PropRestock_ResetPropRestock(ctx context.Context, session *GameSession) any {
// Router implementation for GameRouter_PropRestock_ResetPropRestock
var zero any; return zero
}
//
// Called from the grid-AOI tick. Stocks every captured cell within
// PropRestockSettings.RadiusCells of the player's current cell, once per cell.
//
func GameRouter_PropRestock_TickPropRestockAsync(ctx context.Context, session *GameSession, state any, px float32, pz float32) any {
// Router implementation for GameRouter_PropRestock_TickPropRestockAsync
var zero any; return zero
}
type PropRestockSessionState struct {
SyncRoot any `json:"syncRoot"`
// "raid:cx,cz" cells already stocked this session.
Placed []string `json:"placed"`
PlacedCount int32 `json:"placedCount"`
WarnedEmpty bool `json:"warnedEmpty"`
// 已经提示过「本张图没有点位数据」—— 每个会话只说一次。
WarnedNoRaid bool `json:"warnedNoRaid"`
// Catalog 加载期告警已经打印过(每会话一次)。★ R143 补:见下文。
WarnedCatalog bool `json:"warnedCatalog"`
}