mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 06:58:56 +02:00
Merge pull request #16312 from zfox23/preventDupeControllerScripts
DEV-2350: Prevent duplicate default scripts from running
This commit is contained in:
commit
398caf57ab
1 changed files with 47 additions and 6 deletions
|
@ -71,23 +71,63 @@ if (Menu.menuExists(MENU_CATEGORY) && !Menu.menuItemExists(MENU_CATEGORY, MENU_I
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadSeparateDefaults() {
|
function loadSeparateDefaults() {
|
||||||
|
var currentlyRunningScripts = ScriptDiscoveryService.getRunning();
|
||||||
|
|
||||||
for (var i in DEFAULT_SCRIPTS_SEPARATE) {
|
for (var i in DEFAULT_SCRIPTS_SEPARATE) {
|
||||||
Script.load(DEFAULT_SCRIPTS_SEPARATE[i]);
|
var shouldLoadCurrentDefaultScript = true;
|
||||||
|
|
||||||
|
for (var j = 0; j < currentlyRunningScripts.length; j++) {
|
||||||
|
var currentRunningScriptObject = currentlyRunningScripts[j];
|
||||||
|
var currentDefaultScriptName = DEFAULT_SCRIPTS_SEPARATE[i].substr((DEFAULT_SCRIPTS_SEPARATE[i].lastIndexOf("/") + 1), DEFAULT_SCRIPTS_SEPARATE[i].length);
|
||||||
|
if (currentDefaultScriptName === currentRunningScriptObject.name) {
|
||||||
|
shouldLoadCurrentDefaultScript = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shouldLoadCurrentDefaultScript) {
|
||||||
|
Script.load(DEFAULT_SCRIPTS_SEPARATE[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function runDefaultsTogether() {
|
function runDefaultsTogether() {
|
||||||
for (var i in DEFAULT_SCRIPTS_COMBINED) {
|
var currentlyRunningScripts = ScriptDiscoveryService.getRunning();
|
||||||
Script.include(DEFAULT_SCRIPTS_COMBINED[i]);
|
|
||||||
|
for (var i = 0; i < DEFAULT_SCRIPTS_COMBINED.length; i++) {
|
||||||
|
var shouldIncludeCurrentDefaultScript = true;
|
||||||
|
|
||||||
|
for (var j = 0; j < currentlyRunningScripts.length; j++) {
|
||||||
|
var currentRunningScriptObject = currentlyRunningScripts[j];
|
||||||
|
var currentDefaultScriptName = DEFAULT_SCRIPTS_COMBINED[i].substr((DEFAULT_SCRIPTS_COMBINED[i].lastIndexOf("/") + 1), DEFAULT_SCRIPTS_COMBINED[i].length);
|
||||||
|
if (currentDefaultScriptName === currentRunningScriptObject.name) {
|
||||||
|
shouldIncludeCurrentDefaultScript = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shouldIncludeCurrentDefaultScript) {
|
||||||
|
Script.include(DEFAULT_SCRIPTS_COMBINED[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
loadSeparateDefaults();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function runDefaultsSeparately() {
|
function runDefaultsSeparately() {
|
||||||
|
var currentlyRunningScripts = ScriptDiscoveryService.getRunning();
|
||||||
|
|
||||||
for (var i in DEFAULT_SCRIPTS_COMBINED) {
|
for (var i in DEFAULT_SCRIPTS_COMBINED) {
|
||||||
Script.load(DEFAULT_SCRIPTS_COMBINED[i]);
|
var shouldLoadCurrentDefaultScript = true;
|
||||||
|
|
||||||
|
for (var j = 0; j < currentlyRunningScripts.length; j++) {
|
||||||
|
var currentRunningScriptObject = currentlyRunningScripts[j];
|
||||||
|
var currentDefaultScriptName = DEFAULT_SCRIPTS_COMBINED[i].substr((DEFAULT_SCRIPTS_COMBINED[i].lastIndexOf("/") + 1), DEFAULT_SCRIPTS_COMBINED[i].length);
|
||||||
|
if (currentDefaultScriptName === currentRunningScriptObject.name) {
|
||||||
|
shouldLoadCurrentDefaultScript = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (shouldLoadCurrentDefaultScript) {
|
||||||
|
Script.load(DEFAULT_SCRIPTS_COMBINED[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
loadSeparateDefaults();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// start all scripts
|
// start all scripts
|
||||||
|
@ -99,6 +139,7 @@ if (Menu.isOptionChecked(MENU_ITEM)) {
|
||||||
// include all default scripts into this ScriptEngine
|
// include all default scripts into this ScriptEngine
|
||||||
runDefaultsTogether();
|
runDefaultsTogether();
|
||||||
}
|
}
|
||||||
|
loadSeparateDefaults();
|
||||||
|
|
||||||
function menuItemEvent(menuItem) {
|
function menuItemEvent(menuItem) {
|
||||||
if (menuItem === MENU_ITEM) {
|
if (menuItem === MENU_ITEM) {
|
||||||
|
|
Loading…
Reference in a new issue