MCPcopy
hub / github.com/walterhiggins/ScriptCraft / reloadPlayerModules

Function reloadPlayerModules

src/main/js/modules/classroom/index.js:140–166  ·  view source on GitHub ↗
(playerContext, playerDir)

Source from the content-addressed store, hash-verified

138var playerEventHandlers = {};
139
140function reloadPlayerModules(playerContext, playerDir) {
141 /*
142 wph 20150118 first unregister any event handlers registered by the player
143 */
144 var playerDirPath = '' + playerDir.getAbsolutePath();
145 var eventHandlers = playerEventHandlers[playerDirPath];
146 if (eventHandlers) {
147 for (var i = 0; i < eventHandlers.length; i++) {
148 eventHandlers[i].unregister();
149 }
150 eventHandlers.length = 0;
151 } else {
152 playerEventHandlers[playerDirPath] = [];
153 eventHandlers = playerEventHandlers[playerDirPath];
154 }
155 /*
156 override events.on() so that the listener is stored here so it can be unregistered.
157 */
158 var oldOn = events.on;
159 var newOn = function(eventType, fn, priority) {
160 var handler = oldOn(eventType, fn, priority);
161 eventHandlers.push(handler);
162 };
163 events.on = newOn;
164 autoload(playerContext, playerDir, { cache: false });
165 events.on = oldOn;
166}
167function grantScripting(player) {
168 console.log('Enabling scripting for player ' + player.name);
169 var playerName = '' + player.name;

Callers 1

grantScriptingFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected