From 645b351e5a76e20ac16ce8ea80cd1250e93c7aad Mon Sep 17 00:00:00 2001 From: Soopyboo32 <49228220+Soopyboo32@users.noreply.github.com> Date: Tue, 6 Sep 2022 21:39:53 +0800 Subject: Load all features simultanously to speed up loading --- featureClass/featureManager.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'featureClass/featureManager.js') diff --git a/featureClass/featureManager.js b/featureClass/featureManager.js index 75ffa48..4aae70f 100644 --- a/featureClass/featureManager.js +++ b/featureClass/featureManager.js @@ -748,18 +748,30 @@ class FeatureManager { loadSoopy() { ChatLib.chat(this.messagePrefix + "Loading SoopyV2...") + let startLoading = Date.now() this.loadFeatureMetas() this.loadFeatureSettings() + let loadedFeatures = new Map() + Object.keys(this.featureMetas).forEach((feature) => { if (this.featureSettingsData[feature] && this.featureSettingsData[feature].enabled) { - this.loadFeature(feature) + loadedFeatures.set(feature, false) + new Thread(() => { + this.loadFeature(feature) + loadedFeatures.set(feature, true) + }).start() } }) + while ([...loadedFeatures.values()].some(a => !a)) { + Thread.sleep(100) + } + this.finishedLoading = true ChatLib.chat(this.messagePrefix + "SoopyV2 Loaded!") + logger.logMessage("SoopyV2 took " + ((Date.now() - startLoading) / 1000).toFixed(2) + "s to load", 3) } loadFeature(feature) { //run in seperate thread so onenable can do network requests -- cgit