mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-20 07:13:51 +02:00
* fix(.NET): Stop CheckGameRunning from force checking processes I'm not really sure what I was thinking when I did that the way I did; They are not supposed to force check if they're closed after the first time...That's what the monitor is for. * feat(.NET): Add optional child process culling, clean up applauncher Add an AppApi method to set applauncher settings Enabled/KillChildrenOnExit Refactor repeated applauncher event code, move into methods * refactor: Move the pug code for every tab into its own file * refactor: Add PoC mixins to settings.pug ^& add comments for navigation Some proof of concept replacements of the categories, switches and a radio group in the General settings seection. Also added comments for each header-separated section for marginally better navigation of the file. * refactor: Move the login page to its own file * fix(.NET): Correct wrong variable being set in SetAppLauncherSettings * fix(.NET): Remove redundant/exception causing process refresh in monitor * refactor(.NET): Allow launcher to be disabled; Disabled by default. * refactor: Change screenshot helper default to true * feat: Expose new app launcher settings, add new settings category Translation keys added/removed: + view.settings.advanced.advanced.app_launcher.header + view.settings.advanced.advanced.app_launcher.folder_tooltip + view.settings.advanced.advanced.app_launcher.enable + view.settings.advanced.advanced.app_launcher.auto_close - view.settings.advanced.advanced.auto_launch - view.settings.advanced.advanced.auto_launch_tooltip * Add GPU Fix and Udon Exception Logging options, unload favorites tab when not in use * Fix GPUFix typo * Fix GPUFix typo 1 * Add logging for AVPro streams without usharp videoplayer * Lint --------- Co-authored-by: Natsumi <cmcooper123@hotmail.com>
56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
const API = {}
|
|
|
|
API.eventHandlers = new Map();
|
|
|
|
API.$emit = function (name, ...args) {
|
|
if ($app.debug) {
|
|
console.log(name, ...args);
|
|
}
|
|
var handlers = this.eventHandlers.get(name);
|
|
if (typeof handlers === 'undefined') {
|
|
return;
|
|
}
|
|
try {
|
|
for (var handler of handlers) {
|
|
handler.apply(this, args);
|
|
}
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
};
|
|
|
|
API.$on = function (name, handler) {
|
|
var handlers = this.eventHandlers.get(name);
|
|
if (typeof handlers === 'undefined') {
|
|
handlers = [];
|
|
this.eventHandlers.set(name, handlers);
|
|
}
|
|
handlers.push(handler);
|
|
};
|
|
|
|
API.$off = function (name, handler) {
|
|
var handlers = this.eventHandlers.get(name);
|
|
if (typeof handlers === 'undefined') {
|
|
return;
|
|
}
|
|
var {length} = handlers;
|
|
for (var i = 0; i < length; ++i) {
|
|
if (handlers[i] === handler) {
|
|
if (length > 1) {
|
|
handlers.splice(i, 1);
|
|
} else {
|
|
this.eventHandlers.delete(name);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
|
|
API.pendingGetRequests = new Map();
|
|
API.failedGetRequests = new Map();
|
|
API.endpointDomainVrchat = 'https://api.vrchat.cloud/api/1';
|
|
API.websocketDomainVrchat = 'wss://pipeline.vrchat.cloud';
|
|
API.endpointDomain = 'https://api.vrchat.cloud/api/1';
|
|
API.websocketDomain = 'wss://pipeline.vrchat.cloud';
|
|
|
|
module.exports = API |