package routers import ( "context" "sync" ) var _ = sync.Mutex{} var _ = context.Background // // NPC shop shelves for build 4229938 (ShopManager: AskNpcShop -> SyncFullCommodityInfos). // Why this file exists: a placed shop clerk opens its panel fine but the panel is empty. The // client builds the rows from tables it already owns (ShopConfig / ShopCommodityGroupConfig / // ShopCommodityConfig) and only waits for the server to say what is actually on the shelf — // ShopManager.lua aborts with "获取不到服务端的商品数据" when // shopCommodityDataDict[shopId] has no entry, which is exactly the empty panel. That // dictionary is filled by nothing but SyncFullCommodityInfos (64769566). // The server is not asked to price or validate anything here: it restocks every row at its // configured price with unlimited stock. Charging for a purchase is a separate step // (AskBuyCommodity) and is deliberately not implemented yet. // func GameRouter_NpcShop_AskNpcShop(ctx context.Context, conn any, msg any) any { // Router implementation for GameRouter_NpcShop_AskNpcShop var zero any; return zero }