feat(state): wire enqueueAction through runtime and view model
This commit is contained in:
@@ -18,6 +18,8 @@ export interface GameView {
|
||||
actionName: string | null;
|
||||
/** Progress of the active action, clamped to 0..1. */
|
||||
actionProgress: number;
|
||||
queuedActionIds: string[];
|
||||
queuedActionNames: string[];
|
||||
}
|
||||
|
||||
export function toView(state: GameState, content: Content): GameView {
|
||||
@@ -29,12 +31,16 @@ export function toView(state: GameState, content: Content): GameView {
|
||||
|
||||
const action = state.activeActionId ? content.actionsById[state.activeActionId] : undefined;
|
||||
const actionProgress = action ? Math.min(1, state.actionElapsedMs / action.durationMs) : 0;
|
||||
const queuedActionIds = [...state.actionQueue];
|
||||
const queuedActionNames = queuedActionIds.map((id) => content.actionsById[id]?.name ?? id);
|
||||
|
||||
return {
|
||||
resources,
|
||||
activeActionId: state.activeActionId,
|
||||
actionName: action ? action.name : null,
|
||||
actionProgress,
|
||||
queuedActionIds,
|
||||
queuedActionNames,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user