feat: step-based missions around park machines with 3D objective arrow
Phase 5 of turning the game into the company landing page. - Replace purchase-only missions with a data-driven list of short step chains (goto, locate on map, inspect, order, buy, buy at N places) in src/game/missions, with pure progress logic on the game state. - Six missions, most about machines installed in Park Mellat; add two sites there (lake and sports fields) and record the product model installed at every site. - Inspecting a machine opens a machine card with the installed model, specs, price, an order request and sales contact. - The objective chip shows the current step; the missions sheet lists missions with the current one's steps ticked; a brand-coloured arrow hovers over the target machine. - Rewards and banners per finished mission, the next step is spoken. - Tests for mission data, step logic, text and the machine card. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@ import { InstallDialog } from './InstallDialog.jsx';
|
||||
import { UpdateNotice } from './UpdateNotice.jsx';
|
||||
import { EndDialog } from './EndDialog.jsx';
|
||||
import { GpsFallbackDialog } from './GpsFallbackDialog.jsx';
|
||||
import { MachineCard } from './MachineCard.jsx';
|
||||
/** Composes independently managed game dialogs. */
|
||||
export function GameDialogs(props) {
|
||||
return (
|
||||
@@ -20,6 +21,7 @@ export function GameDialogs(props) {
|
||||
<UpdateNotice {...props} />
|
||||
<EndDialog {...props} />
|
||||
<GpsFallbackDialog {...props} />
|
||||
<MachineCard {...props} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user