48 lines
2.3 KiB
Go
48 lines
2.3 KiB
Go
package routers
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
)
|
|
|
|
var _ = sync.Mutex{}
|
|
var _ = context.Background
|
|
|
|
//
|
|
// Phone menu skin parts (手机壁纸 / 装饰 / 挂件).
|
|
// The client's "apply" button only sends AskSetMobileSkinPart and then waits for the answer.
|
|
// It never writes the worn suit locally: GameToClientImpl.SyncSpiritMobileSkinPartInfo is the
|
|
// sole writer of SpiritInfo.MobileSkinInfo, and it is also what fires
|
|
// ON_SYNC_SPIRIT_SKIN_PART_INFO_CHANGE so MainPhonePanelStore.OnSpiritSkinPartChange re-reads the
|
|
// value. Because this method previously fell through to the typed-neutral fallback, the whole
|
|
// sequence ended with "applied successfully" and an unchanged wallpaper: the preview closed, the
|
|
// panel re-read the untouched login struct, and the wallpaper snapped back.
|
|
// This handler stores the choice per character (and mirrors it to PlayerProgressStore) and replays
|
|
// it as SyncSpiritMobileSkinPartInfo so the wallpaper actually changes — and stays changed across
|
|
// re-logins, because the login payload now carries the stored suit.
|
|
// The reply stays an empty 0-error body, byte-identical to what the fallback produced, so the
|
|
// client's existing "close preview / show result toast" branch is untouched.
|
|
//
|
|
func GameRouter_MobileSkin_AskSetMobileSkinPart4229938(ctx context.Context, conn any, msg any) any {
|
|
// Router implementation for GameRouter_MobileSkin_AskSetMobileSkinPart4229938
|
|
var zero any; return zero
|
|
}
|
|
|
|
func GameRouter_MobileSkin_AskResetMobileSkinPart4229938(ctx context.Context, conn any, msg any) any {
|
|
// Router implementation for GameRouter_MobileSkin_AskResetMobileSkinPart4229938
|
|
var zero any; return zero
|
|
}
|
|
|
|
//
|
|
// Stores the worn suit for the character currently in play and echoes it back.
|
|
// The spirit id must be a FightSpiritConfig template id, not a unit instance id: the client
|
|
// looks the character up through SpiritManager.spiritViewDatas, which SyncPlayerInfoSpirit /
|
|
// SyncPlayerAllSpirits key by SpiritInfo.TemplateId, and GetCurrentSpiritSkinInfo resolves the
|
|
// same way through gBattleSpiritMgr.currentSpiritTemplateId (= InfoSpirit.ActiveSpirit).
|
|
//
|
|
func GameRouter_MobileSkin_ApplyPhoneSkin4229938Async(ctx context.Context, conn any, msg any, wallpaper uint32, decoration uint32, pendant uint32, reason string) any {
|
|
// Router implementation for GameRouter_MobileSkin_ApplyPhoneSkin4229938Async
|
|
var zero any; return zero
|
|
}
|
|
|