From fe76ebfab0d6eae74501546c06955bc4bf684e0f Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Tue, 2 Jul 2019 22:10:04 -0700 Subject: [PATCH] Don't share subscriptions between instances --- experiments/maki-interpreter/runtime/System.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/experiments/maki-interpreter/runtime/System.js b/experiments/maki-interpreter/runtime/System.js index fb3425f9..17e1219b 100644 --- a/experiments/maki-interpreter/runtime/System.js +++ b/experiments/maki-interpreter/runtime/System.js @@ -1,9 +1,6 @@ const Group = require("./Group"); const MakiObject = require("./MakiObject"); -const onScriptLoadedCallbacks = []; -const onSetXuiParamCallbacks = []; - class System extends MakiObject { /** * getClassName() @@ -15,16 +12,22 @@ class System extends MakiObject { return "System"; } + constructor() { + super(); + this._onScriptLoadedCallbacks = []; + this._onSetXuiParamCallbacks = []; + } + _start() { - onScriptLoadedCallbacks.forEach(cb => { + this._onScriptLoadedCallbacks.forEach(cb => { cb(); }); } onScriptLoaded(cb) { - onScriptLoadedCallbacks.push(cb); + this._onScriptLoadedCallbacks.push(cb); } onSetXuiParam(cb) { - onSetXuiParamCallbacks.push(cb); + this._onSetXuiParamCallbacks.push(cb); } getScriptGroup() { return new Group();