aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--featureClass/featureManager.js14
1 files changed, 13 insertions, 1 deletions
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