true while a fade or flash is still running; a held tint is not busy
The wash's own opacity, 0 (clear) to 1 (fully covering).
Distinct from this container's inherited alpha, which scales the whole effect layer
including the wash - a game that fades the effect layer itself still reads the wash here.
clears the overlay outright, running effect, sequence and held tint alike
clears back to fully transparent - the second half, once the new scene is built
Optionalcolor: numberdarkens to fully cover the screen - the first half of a transition between scenes
Optionalcolor: numberA quick wash in and straight back out again, peaking at peak partway through.
One phase rather than a fade-out chained into a fade-in, because a flash is a single gesture: interrupting it halfway should cancel the whole thing, not leave the screen stuck at full white waiting for a second phase that no longer runs.
Optionalcolor: numberRuns steps end to end - fade, hold, flash, in any order and count - driven by the
same update(dt) as a single call: isBusy stays true and update keeps returning
false at every step boundary, only returning true once the last step finishes. See this
class's own doc comment for the hold-then-fade-back example this exists for. Replaces
anything currently running or queued, the same as any other call here.
Holds a colour at a fixed opacity until changed - a poisoned green cast, an underwater blue. Cancels any running fade, flash or sequence, since those drive the same one overlay.
call from a scene's own resize, so the wash keeps covering the whole canvas
true on the single frame the running effect (or the whole sequence) completes
A full-screen colour wash over everything else: fade out to black between floors, flash white on a critical hit, hold a red tint while poisoned.
Driven by
update(dt)against a plain elapsed timer rather than a promise-returning tween, matchingToastandFloatingText: a single frame boundary per phase keeps the whole sequence reproducible oneupdatecall at a time, which a test (or a recorded replay) can drive without waiting on a microtask to settle.updatereturns true on the exact frame an effect finishes, the same wayProjectile.updatereports arrival, so a caller sequences "fade out, swap the level, fade in" without needingawait.Add the container last, or to a layer above the world: this draws over whatever is beneath it in the display list and nothing else about draw order is its business.
Example
sequencechains steps end to end, driven by the sameupdate(dt)-isBusystays true andupdatekeeps returning false across every step boundary, only returning true once the whole sequence finishes, so a caller still needs noawaitfor the genre-standard hold-then-fade-back transitionfadeOut/fadeIn/flashalone cannot express: