Skip to content

BeatPulse

namespace Griff.Scenes;
public sealed class BeatPulse : Component, IDrawEffect

Bops its entity on the beat of a BeatClock: it’s drawn bigger by Size as each beat lands and shrinks back before the next, ahead by the player’s visual offset so it’s seen on the beat that’s heard. Speakers, dancers, a title, the lights. Only how it’s drawn changes (its children with it); its transform and collider stay as they are.

This is a component: its saved properties are on its component page.

public string? Clock { get; set; }

The entity whose BeatClock it follows. Empty follows the first in the scene.

public int Every { get; set; }

Bops every this many beats: 1 on every beat, 2 on every other, 4 once a bar of four.

public float Scale { get; }

How big it’s drawn right now, from 1 up to 1 + Size as a beat lands; set by the game.

public float Size { get; set; }

How much bigger it’s drawn on the beat: 0.15 is 15% bigger. Below 0 shrinks it instead.