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_job_apps.go
T

71 lines
3.5 KiB
Go

package routers
import (
"context"
"sync"
)
var _ = sync.Mutex{}
var _ = context.Background
//
// Profession phone-app DATA handlers (build 4229938) — 清洁工 Washer / 赛车手 Racer.
// Ported from the Lyco donor build on 2026-09-26.
// Diagnosis (donor, 2026-09-20 — holds for our tree too): these apps are not blocked at the
// entry or at the switch gate. `MainPhoneUtils.OnAppItemClick` has a branch for every job and the
// fastpatch ClientGameSwitch module already sets EnableJanitor / EnableCatExpress /
// EnableDutyTerminal / EnableEonBug, so `SwitchFunctionManager.CheckEnable` passes. What was
// missing is the DATA: with no handler the client fell through to the typed-default (all-zero)
// body and each panel rendered an empty shell.
// ⛑⛑ This is a STATIC SNAPSHOT, not a simulation. There is no server-side mission generation,
// no persisted racing result and no WasherConfig table on our side, so:
// * 清洁工 shows one in-flight mission and a fixed history — progress never advances by itself;
// * 赛车手 reports zero points / zero stars, so only the group whose authored gate is 0/0
// (group 1, C级赛) is unlocked and every league the player has not earned renders 未解锁.
// Accepting / finishing a mission is acked and nothing else happens.
// ⛑ Do NOT "improve" 赛车手 by returning every group with a synthetic record. The donor measured
// that on 2026-09-22: `RacerHistoryPageStore.BuildHistoryList` turns each group's track rows into a
// HISTORY entry (so the app claimed "C级赛事 完成" for a player who never raced) and
// `RacerCareerPageStore.BuildDisplayLists` treats the KEYS of CompetitionGroupInfos as the unlocked
// set, which pushes the frontier to the last league and renders B级赛 进行中 although it is
// authored locked. Presence means "unlocked"; the records stay empty until a race is finished.
//
func GameRouter_JobApps_AskGetWasherMissionInfo(ctx context.Context, conn any, msg any) any {
// Router implementation for GameRouter_JobApps_AskGetWasherMissionInfo
var zero any; return zero
}
//
// Accept / finish (63297472 / 63889979). Both return void per DefaultReturnCatalog, so an empty
// OK is the whole contract — they are INVOKEs, and leaving them unrouted makes the button await
// a reply that never comes.
//
func GameRouter_JobApps_WasherMissionAction(ctx context.Context, conn any, msg any) any {
// Router implementation for GameRouter_JobApps_WasherMissionAction
var zero any; return zero
}
func GameRouter_JobApps_AskRacingCompetitionGroupInfo(ctx context.Context, conn any, msg any) any {
// Router implementation for GameRouter_JobApps_AskRacingCompetitionGroupInfo
var zero any; return zero
}
// ------------------------------------------------------------------ builders
func GameRouter_JobApps_BuildWasherMissionInfo(ctx context.Context, ) any {
// Router implementation for GameRouter_JobApps_BuildWasherMissionInfo
var zero any; return zero
}
//
// 赛车手 league snapshot, gated by the authored thresholds in
// RacingDriverCompetitionGroupConfig: a group opens when it is not hard-locked and the player
// has reached both point/star gates. Player progress is zero (nothing is persisted yet), so
// only group 1 (C级赛, 0/0) opens and B级赛 renders 未解锁 — which is the truthful state for a
// player who has never raced.
//
func GameRouter_JobApps_BuildRacingCompetitionGroupInfo(ctx context.Context, ) any {
// Router implementation for GameRouter_JobApps_BuildRacingCompetitionGroupInfo
var zero any; return zero
}