public override void Render()
{
if (Renderer == null) return;
// check if font is loaded for HTML5 canvas
if (Renderer.As<ScoreRenderer>().Canvas is Html5Canvas)
{
Action renderAction = null;
renderAction = () =>
{
// if font is not yet loaded, try again in 1 sec
if (!Environment.IsFontLoaded)
{
HtmlContext.window.setTimeout(() =>
{
renderAction();
}, 1000);
}
else
{
// when font is finally loaded, start rendering
Renderer.As<ScoreRenderer>().RenderMultiple(Tracks);
}
};
renderAction();
}
else
{
Renderer.As<ScoreRenderer>().RenderMultiple(Tracks);
}
}