diff --git a/plugin/src/Assets.lua b/plugin/src/Assets.lua index 9b94d6e8..156dde61 100644 --- a/plugin/src/Assets.lua +++ b/plugin/src/Assets.lua @@ -1,9 +1,7 @@ -local sheetAsset = "rbxassetid://2738712459" - local Assets = { Sprites = { WhiteCross = { - asset = sheetAsset, + asset = "rbxassetid://2738712459", offset = Vector2.new(190, 318), size = Vector2.new(18, 18), }, diff --git a/plugin/src/Components/App.lua b/plugin/src/Components/App.lua index 893754ab..7d534759 100644 --- a/plugin/src/Components/App.lua +++ b/plugin/src/Components/App.lua @@ -8,6 +8,7 @@ local Config = require(Plugin.Config) local Version = require(Plugin.Version) local Logging = require(Plugin.Logging) local DevSettings = require(Plugin.DevSettings) +local preloadAssets = require(Plugin.preloadAssets) local ConnectPanel = require(Plugin.Components.ConnectPanel) local ConnectionActivePanel = require(Plugin.Components.ConnectionActivePanel) @@ -177,6 +178,8 @@ function App:didMount() }) end end) + + preloadAssets() end function App:didUpdate() diff --git a/plugin/src/preloadAssets.lua b/plugin/src/preloadAssets.lua new file mode 100644 index 00000000..6f40e001 --- /dev/null +++ b/plugin/src/preloadAssets.lua @@ -0,0 +1,28 @@ +local ContentProvider = game:GetService("ContentProvider") + +local Logging = require(script.Parent.Logging) +local Assets = require(script.Parent.Assets) + +local function preloadAssets() + local contentUrls = {} + + for _, sprite in pairs(Assets.Sprites) do + table.insert(contentUrls, sprite.asset) + end + + for _, slice in pairs(Assets.Slices) do + table.insert(contentUrls, slice.asset) + end + + for _, url in pairs(Assets.Images) do + table.insert(contentUrls, url) + end + + Logging.trace("Preloading assets: %s", table.concat(contentUrls, ", ")) + + coroutine.wrap(function() + ContentProvider:PreloadAsync(contentUrls) + end)() +end + +return preloadAssets \ No newline at end of file