Skip to content

Commit

Permalink
🎞️ Load Core UI mod on load
Browse files Browse the repository at this point in the history
  • Loading branch information
tomrijnbeek committed Jan 1, 2024
1 parent 0dce772 commit 5be429f
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 18 deletions.
19 changes: 1 addition & 18 deletions src/Bearded.TD/Rendering/RenderContext.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
using System.Collections.Generic;
using System.Linq;
using Bearded.TD.Content;
using Bearded.TD.Content.Mods;
using Bearded.TD.Game;
using Bearded.TD.Content;
using Bearded.TD.Rendering.Loading;
using Bearded.TD.Utilities;
using Bearded.Utilities.IO;
Expand All @@ -14,7 +10,6 @@ sealed class RenderContext
{
public CoreShaders Shaders { get; }
public IGraphicsLoader GraphicsLoader { get; }
public Blueprints CoreAssets { get; }

public CoreRenderers Renderers { get; }
public DeferredRenderer DeferredRenderer { get; }
Expand All @@ -26,24 +21,12 @@ public RenderContext(IActionQueue glActionQueue, Logger logger)
{
Shaders = new CoreShaders();
GraphicsLoader = new GraphicsLoader(Shaders.ShaderManager, glActionQueue, logger);
CoreAssets = loadCoreMod(new ModLoadingContext(logger, GraphicsLoader, new ModLoadingProfiler()));

Settings = new CoreRenderSettings();
Renderers = new CoreRenderers(Shaders, Settings);
DeferredRenderer = new DeferredRenderer(Settings, Shaders);
Compositor = new FrameCompositor(logger, Settings, Shaders, Renderers, DeferredRenderer);
Drawers = new CoreDrawers(Renderers, DeferredRenderer);

}

private static Blueprints loadCoreMod(ModLoadingContext context)
{
var meta = new ModLister().GetAll().First(m => m.Id == "core-ui");
var dependencies = new List<Mod>().AsReadOnly();

var mod = ModLoader.Load(context, meta, dependencies).GetAwaiter().GetResult();

return mod.Blueprints;
}

public void OnResize(ViewportSize viewportSize)
Expand Down
7 changes: 7 additions & 0 deletions src/Bearded.TD/TheGame.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ sealed class TheGame : Window
private InputManager inputManager = null!;
private RenderContext renderContext = null!;
private ContentManager contentManager = null!;
private IModLease coreMod = null!;
private RootControl rootControl = null!;
private UIUpdater uiUpdater = null!;
private EventManager eventManager = null!;
Expand Down Expand Up @@ -114,6 +115,12 @@ protected override void OnLoad()

renderContext = new RenderContext(glActionQueue, logger);
contentManager = new ContentManager(logger, renderContext.GraphicsLoader, new ModLister().GetAll());
coreMod = contentManager.LeaseMod(contentManager.FindMod("core-ui"));
while (!coreMod.IsLoaded)
{
contentManager.Update();
tryRunQueuedGlActionsFor(TimeSpan.FromMilliseconds(10));
}

var drawers = renderContext.Drawers;
rendererRouter = new CachedRendererRouter(
Expand Down

0 comments on commit 5be429f

Please sign in to comment.