mini_arcade_core.scenes.systems.builtins.score_chain

Reusable helpers for short-lived score-chain windows.

Classes

ScoreChainState

Mutable chain state for consecutive score events.

ScoreChainBinding

Declarative score-chain expiry rule.

ScoreChainSystem

Expire score chains after their timer runs out.

Functions

reset_score_chain(→ None)

Clear the current score chain.

claim_score_chain_points(→ int)

Claim the next score value in a chain and refresh its timer.

Module Contents

class mini_arcade_core.scenes.systems.builtins.score_chain.ScoreChainState[source]

Mutable chain state for consecutive score events.

step_index: int = 0
remaining_seconds: float = 0.0
property active: bool

Whether the score chain is currently active and can be extended.

Returns:

True if the chain is active, False otherwise.

Return type:

bool

mini_arcade_core.scenes.systems.builtins.score_chain.reset_score_chain(state: ScoreChainState) None[source]

Clear the current score chain.

mini_arcade_core.scenes.systems.builtins.score_chain.claim_score_chain_points(state: ScoreChainState, *, steps: tuple[int, Ellipsis], window_seconds: float) int[source]

Claim the next score value in a chain and refresh its timer.

class mini_arcade_core.scenes.systems.builtins.score_chain.ScoreChainBinding[source]

Bases: Generic[TCtx]

Declarative score-chain expiry rule.

state_getter: Callable[[TCtx], ScoreChainState]
on_expired: Callable[[TCtx, ScoreChainState], None] | None = None
class mini_arcade_core.scenes.systems.builtins.score_chain.ScoreChainSystem[source]

Bases: Generic[TCtx]

Expire score chains after their timer runs out.

name: str = 'common_score_chain'
phase: int
order: int = 17
enabled_when: Callable[[TCtx], bool]
bindings: tuple[ScoreChainBinding[TCtx], Ellipsis] = ()
step(ctx: TCtx) None[source]

Advance active score-chain timers by frame dt.