forked from profectus/Profectus
Fixed issues with debugging vue
Particularly when switching saves
This commit is contained in:
parent
d2361bc444
commit
380da5069e
3 changed files with 48 additions and 10 deletions
|
@ -136,9 +136,6 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
selectSubtab(subtab) {
|
selectSubtab(subtab) {
|
||||||
if (player.subtabs[this.layer] == undefined) {
|
|
||||||
player.subtabs[this.layer] = {};
|
|
||||||
}
|
|
||||||
player.subtabs[this.layer].mainTabs = subtab;
|
player.subtabs[this.layer].mainTabs = subtab;
|
||||||
},
|
},
|
||||||
toggleMinimized() {
|
toggleMinimized() {
|
||||||
|
|
|
@ -145,6 +145,9 @@ export function addLayer(layer, player = null) {
|
||||||
layer.achievements[id].earned = function() {
|
layer.achievements[id].earned = function() {
|
||||||
return !layer.deactivated && player[layer.id].achievements.some(achievement => achievement == id);
|
return !layer.deactivated && player[layer.id].achievements.some(achievement => achievement == id);
|
||||||
}
|
}
|
||||||
|
if (layer.achievements[id].onComplete != undefined) {
|
||||||
|
layer.achievements[id].onComplete.forceCached = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -289,8 +292,12 @@ export function addLayer(layer, player = null) {
|
||||||
if (layer.clickables[id].click != undefined) {
|
if (layer.clickables[id].click != undefined) {
|
||||||
layer.clickables[id].click.forceCached = false;
|
layer.clickables[id].click.forceCached = false;
|
||||||
}
|
}
|
||||||
|
if (layer.clickables[id].onHold != undefined) {
|
||||||
|
layer.clickables[id].onHold.forceCached = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
layer.clickables.layer = layer.id;
|
||||||
if (layer.clickables.masterButtonClick != undefined) {
|
if (layer.clickables.masterButtonClick != undefined) {
|
||||||
layer.clickables.masterButtonClick.forceCached = false;
|
layer.clickables.masterButtonClick.forceCached = false;
|
||||||
}
|
}
|
||||||
|
@ -338,12 +345,33 @@ export function addLayer(layer, player = null) {
|
||||||
}
|
}
|
||||||
if (layer.grids[id].getUnlocked == undefined) {
|
if (layer.grids[id].getUnlocked == undefined) {
|
||||||
layer.grids[id].getUnlocked = true;
|
layer.grids[id].getUnlocked = true;
|
||||||
|
} else {
|
||||||
|
layer.grids[id].getUnlocked.forceCached = false;
|
||||||
}
|
}
|
||||||
if (layer.grids[id].getCanClick == undefined) {
|
if (layer.grids[id].getCanClick == undefined) {
|
||||||
layer.grids[id].getCanClick = true;
|
layer.grids[id].getCanClick = true;
|
||||||
|
} else {
|
||||||
|
layer.grids[id].getCanClick.forceCached = false;
|
||||||
}
|
}
|
||||||
if (layer.grids[id].getStartData == undefined) {
|
if (layer.grids[id].getStartData == undefined) {
|
||||||
layer.grids[id].getStartData = "";
|
layer.grids[id].getStartData = "";
|
||||||
|
} else {
|
||||||
|
layer.grids[id].getStartData.forceCached = false;
|
||||||
|
}
|
||||||
|
if (layer.grids[id].getStyle != undefined) {
|
||||||
|
layer.grids[id].getStyle.forceCached = false;
|
||||||
|
}
|
||||||
|
if (layer.grids[id].onClick != undefined) {
|
||||||
|
layer.grids[id].onClick.forceCached = false;
|
||||||
|
}
|
||||||
|
if (layer.grids[id].onHold != undefined) {
|
||||||
|
layer.grids[id].onHold.forceCached = false;
|
||||||
|
}
|
||||||
|
if (layer.grids[id].getTitle != undefined) {
|
||||||
|
layer.grids[id].getTitle.forceCached = false;
|
||||||
|
}
|
||||||
|
if (layer.grids[id].getDisplay != undefined) {
|
||||||
|
layer.grids[id].getDisplay.forceCached = false;
|
||||||
}
|
}
|
||||||
layer.grids[id].getData = function(cell) {
|
layer.grids[id].getData = function(cell) {
|
||||||
if (player[layer.id].grids[id][cell] != undefined) {
|
if (player[layer.id].grids[id][cell] != undefined) {
|
||||||
|
@ -362,16 +390,22 @@ export function addLayer(layer, player = null) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (layer.subtabs) {
|
if (layer.subtabs) {
|
||||||
|
if (player.subtabs[layer.id] == undefined) {
|
||||||
|
player.subtabs[layer.id] = {};
|
||||||
|
}
|
||||||
|
if (player.subtabs[layer.id].mainTabs == undefined) {
|
||||||
|
player.subtabs[layer.id].mainTabs = Object.keys(layer.subtabs)[0];
|
||||||
|
}
|
||||||
for (let id in layer.subtabs) {
|
for (let id in layer.subtabs) {
|
||||||
if (isPlainObject(layer.subtabs[id])) {
|
if (isPlainObject(layer.subtabs[id])) {
|
||||||
layer.subtabs[id].active = function() {
|
layer.subtabs[id].active = function() {
|
||||||
return player.subtabs[this.layer]?.mainTabs === this.id;
|
return player.subtabs[this.layer].mainTabs === this.id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
layer.activeSubtab = function() {
|
layer.activeSubtab = function() {
|
||||||
if (this.subtabs != undefined) {
|
if (this.subtabs != undefined) {
|
||||||
if (this.subtabs[player.subtabs[layer.id]?.mainTabs] &&
|
if (this.subtabs[player.subtabs[layer.id].mainTabs] &&
|
||||||
this.subtabs[player.subtabs[layer.id].mainTabs].unlocked !== false) {
|
this.subtabs[player.subtabs[layer.id].mainTabs].unlocked !== false) {
|
||||||
return this.subtabs[player.subtabs[layer.id].mainTabs];
|
return this.subtabs[player.subtabs[layer.id].mainTabs];
|
||||||
}
|
}
|
||||||
|
@ -381,7 +415,13 @@ export function addLayer(layer, player = null) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (layer.microtabs) {
|
if (layer.microtabs) {
|
||||||
|
if (player.subtabs[layer.id] == undefined) {
|
||||||
|
player.subtabs[layer.id] = {};
|
||||||
|
}
|
||||||
for (let family in layer.microtabs) {
|
for (let family in layer.microtabs) {
|
||||||
|
if (player.subtabs[layer.id][family] == undefined) {
|
||||||
|
player.subtabs[layer.id][family] = Object.keys(layer.microtabs[family])[0];
|
||||||
|
}
|
||||||
for (let id in layer.microtabs[family]) {
|
for (let id in layer.microtabs[family]) {
|
||||||
if (isPlainObject(layer.microtabs[family][id])) {
|
if (isPlainObject(layer.microtabs[family][id])) {
|
||||||
layer.microtabs[family][id].layer = layer.id;
|
layer.microtabs[family][id].layer = layer.id;
|
||||||
|
@ -392,9 +432,11 @@ export function addLayer(layer, player = null) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
layer.microtabs[family].layer = layer.id;
|
||||||
|
layer.microtabs[family].family = family;
|
||||||
layer.microtabs[family].activeMicrotab = function() {
|
layer.microtabs[family].activeMicrotab = function() {
|
||||||
if (this[player.subtabs[layer.id][family]] && this[player.subtabs[layer.id][family]].unlocked !== false) {
|
if (this[player.subtabs[this.layer]?.[family]] && this[player.subtabs[this.layer][family]].unlocked !== false) {
|
||||||
return this[player.subtabs[layer.id][family]];
|
return this[player.subtabs[this.layer][family]];
|
||||||
}
|
}
|
||||||
// Default to first unlocked tab
|
// Default to first unlocked tab
|
||||||
return this[Object.keys(this).find(microtab => microtab !== 'activeMicrotab' && this[microtab].unlocked !== false)];
|
return this[Object.keys(this).find(microtab => microtab !== 'activeMicrotab' && this[microtab].unlocked !== false)];
|
||||||
|
|
|
@ -143,7 +143,7 @@ function getHandler(prefix) {
|
||||||
|
|
||||||
function getGridHandler(prefix) {
|
function getGridHandler(prefix) {
|
||||||
return {
|
return {
|
||||||
get(target, key, receiver) {
|
get(target, key) {
|
||||||
if (key === 'isProxy') {
|
if (key === 'isProxy') {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -159,9 +159,8 @@ function getGridHandler(prefix) {
|
||||||
const getterID = `${prefix}${key}`;
|
const getterID = `${prefix}${key}`;
|
||||||
if (getterID in store.getters) {
|
if (getterID in store.getters) {
|
||||||
return store.getters[getterID];
|
return store.getters[getterID];
|
||||||
} else {
|
|
||||||
return target[key].bind(receiver);
|
|
||||||
}
|
}
|
||||||
|
// Non-cached functions are going to be cell-specific, so don't call them with the grid handler
|
||||||
}
|
}
|
||||||
if (typeof key !== 'symbol' && !isNaN(key)) {
|
if (typeof key !== 'symbol' && !isNaN(key)) {
|
||||||
target[key] = new Proxy(target, getCellHandler(key));
|
target[key] = new Proxy(target, getCellHandler(key));
|
||||||
|
|
Loading…
Reference in a new issue