public void Display() { if (r == null || loadTimer.ElapsedTime() < 0.25) { return; } loadTimer.Reset(); loadTick = ++loadTick % 8; r.BeginFrame(float2.Zero, 1f); r.RgbaSpriteRenderer.DrawSprite(gdiLogo, gdiPos); r.RgbaSpriteRenderer.DrawSprite(nodLogo, nodPos); r.RgbaSpriteRenderer.DrawSprite(evaLogo, evaPos); WidgetUtils.DrawPanelPartial(ss, bounds, PanelSides.Edges); var barY = bounds.Height - 78; if (!setup && r.Fonts != null) { loadingFont = r.Fonts["BigBold"]; loadingText = "Loading"; loadingPos = new float2((bounds.Width - loadingFont.Measure(loadingText).X) / 2, barY); versionFont = r.Fonts["Regular"]; versionText = WidgetUtils.ActiveModVersion(); var versionSize = versionFont.Measure(versionText); versionPos = new float2(bounds.Width - 107 - versionSize.X / 2, 115 - versionSize.Y / 2); setup = true; } if (loadingFont != null) { loadingFont.DrawText(loadingText, loadingPos, Color.Gray); } if (versionFont != null) { versionFont.DrawTextWithContrast(versionText, versionPos, Color.White, Color.Black, 2); } for (var i = 0; i <= 8; i++) { var block = loadTick == i ? brightBlock : dimBlock; r.RgbaSpriteRenderer.DrawSprite(block, new float2(bounds.Width / 2 - 114 - i * 32, barY)); r.RgbaSpriteRenderer.DrawSprite(block, new float2(bounds.Width / 2 + 114 + i * 32 - 16, barY)); } r.EndFrame(nih); }