in libs/game/info.ts [41:94]
function initHUD() {
if (_hud) return;
_hud = true;
_heartImage = _heartImage || defaultHeartImage();
_multiplierImage = _multiplierImage || img`
1 . . . 1
. 1 . 1 .
. . 1 . .
. 1 . 1 .
1 . . . 1
`;
_bgColor = isMonoColorInfo ? 0 : 1;
_borderColor = isMonoColorInfo ? 1 : 3;
_fontColor = isMonoColorInfo ? 1 : 3;
game.eventContext().registerFrameHandler(95, () => {
// show score
if (_score !== null && _visibilityFlag & Visibility.Score) {
drawScore();
}
// show life
if (_life !== null && _visibilityFlag & Visibility.Life) {
drawLives();
if (_life <= 0) {
_life = null;
if (_lifeOverHandler) {
_lifeOverHandler();
}
else {
game.over();
}
}
}
// show countdown
if (_gameEnd !== undefined && _visibilityFlag & Visibility.Countdown) {
drawTimer(_gameEnd - control.millis())
let t = Math.max(0, _gameEnd - control.millis()) / 1000;
if (t <= 0) {
t = 0;
if (!_countdownExpired) {
_countdownExpired = true;
if (_countdownEndHandler) {
_countdownEndHandler();
}
else {
game.over();
}
}
}
}
})
}