const mp = window.mp || {
events: {
remove: (...args) => {
console.log("events.remove", args[0]);
},
add: (...args) => {
console.log("events.add", args[0]);
},
addProc: (...args) => {
console.log("events.addProc", args[0]);
},
call: (...args) => {
console.log("events.call", ...args);
},
callProc: (...args) => {
console.log("events.callProc", ...args);
},
callLocal: (...args) => {
console.log("events.callLocal", ...args);
},
},
invoke: (...args) => {
console.log("mp.invoke", ...args);
},
};
const eventNameCallbacks = {};
let oldCall = mp.events.call;
let oldAdd = mp.events.add;
let oldRemove = mp.events.remove;
// let oldCallLocal = global.mp.events.callLocal;
mp.events.call = function (...args) {
// global?.app?.$store?.commit("outcome", args);
oldCall(...args);
};
mp.events.callLocal = function (eventName, ...args) {
// oldCallLocal(eventName, ...args);
if (!(eventName in eventNameCallbacks)) {
return;
}
const callbacks = eventNameCallbacks[eventName];
for (let callback of callbacks) {
callback(...args);
}
};
mp.events.add = function (eventName, callback) {
oldAdd(eventName, (...args) => {
// global?.app?.$store?.commit("income", args);
callback(...args);
});
if (!(eventName in eventNameCallbacks)) {
eventNameCallbacks[eventName] = [];
}
const callbacks = eventNameCallbacks[eventName];
callbacks.push(callback);
};
mp.events.remove = function (eventName, callback) {
oldRemove(eventName, callback);
if (!(eventName in eventNameCallbacks)) {
return;
}
eventNameCallbacks[eventName] = eventNameCallbacks[eventName].filter(c => c !== callback);
};
export default mp;
export const $isInGame = computed(() => {
return mp.isALauncher !== undefined;
});