mini_arcade_core.scenes.systems.builtins.powerups ================================================= .. py:module:: mini_arcade_core.scenes.systems.builtins.powerups .. autoapi-nested-parse:: Reusable pickup / power-up collection helpers. Classes ------- .. autoapisummary:: mini_arcade_core.scenes.systems.builtins.powerups.PickupCollisionBinding mini_arcade_core.scenes.systems.builtins.powerups.PickupCollisionSystem Module Contents --------------- .. py:class:: PickupCollisionBinding Bases: :py:obj:`Generic`\ [\ :py:obj:`TCtx`\ ] Declarative collector-vs-pickup intersection rule. .. py:attribute:: collectors_getter :type: Callable[[TCtx], Iterable[mini_arcade_core.engine.entities.BaseEntity]] .. py:attribute:: pickups_getter :type: Callable[[TCtx], Iterable[mini_arcade_core.engine.entities.BaseEntity]] .. py:attribute:: predicate :type: Callable[[TCtx, mini_arcade_core.engine.entities.BaseEntity], bool] .. py:attribute:: on_collect :type: Callable[[TCtx, mini_arcade_core.engine.entities.BaseEntity, mini_arcade_core.engine.entities.BaseEntity], None] | None :value: None .. py:attribute:: remove_collected :type: bool :value: True .. py:class:: PickupCollisionSystem Bases: :py:obj:`Generic`\ [\ :py:obj:`TCtx`\ ] Collect overlapping pickup-like entities and optionally remove them. .. py:attribute:: name :type: str :value: 'common_pickup_collision' .. py:attribute:: phase :type: int .. py:attribute:: order :type: int :value: 48 .. py:attribute:: enabled_when :type: Callable[[TCtx], bool] .. py:attribute:: bindings :type: tuple[PickupCollisionBinding[TCtx], Ellipsis] :value: () .. py:method:: step(ctx: TCtx) -> None Resolve pickup collection for all configured bindings.