Skip to main content

Module tick

Module tick 

Source
Expand description

The behaviour that ticks a gameplay object.

A tick is dispatched as a frame, so every behaviour in the gameplay world is an OnFrame. An object is the component that carries what it owns plus the behaviour that ticks it, spawned as one bundle, so adding an object to the scene is spawning an entity and never editing a list.

Most objects state no order: they tick in the default band, where the dispatch promises nothing about which of them runs first, and none of them reads what another writes. The two that do — the balls, which read the assets built before them, and the panel’s publish, which reads what every object wrote — state an order with advancing_in at both ends, so the dependency holds however the setup spawns them.

The behaviour advances that object’s own component, looked up on the entity the bundle was spawned on. It holds the component exclusively for as long as it runs, so a tick that reaches for the component it advances a second time finds it borrowed: everything else a tick reads, it reads through the world it is handed.

Re-exports§

use unlit_ecs::World; 🔒
use unlit3d::frame::Frame; 🔒
use unlit3d::frame::FrameBehaviourOrder; 🔒
use unlit3d::frame::OnFrame; 🔒

Functions§

advance 🔒
advancing and advancing_in with the order as a parameter.
advancing 🔒
The behaviour that advances the T of the entity it is spawned on.
advancing_in 🔒
The behaviour that advances the T of the entity it is spawned on, at order.