Add option to "lock" buildings #763

This commit is contained in:
Daniël van Noord
2021-07-05 16:02:29 +02:00
parent 3ac2c75b6f
commit 094b153f7e
5 changed files with 35 additions and 2 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,18 @@
import ToggleBuildingLock from './ToggleBuildingLock';
/**
* This function adds a lock button to the "building view" in the middle section
*/
export default function CreateBuildingLockButtons() {
Object.keys(l('rows').children).forEach((index) => {
const productButtons = l('rows').children[index].children[1];
const button = document.createElement('div');
button.id = `productLock${Number(index) + 1}`;
button.className = 'productButton';
button.innerHTML = 'Unlocked';
button.onclick = function () {
ToggleBuildingLock(Number(index) + 1);
};
productButtons.appendChild(button);
});
}

View File

@@ -0,0 +1,13 @@
/**
* This function toggle the locked state of a building
* @param {number} index Index of the row to change
*/
export default function ToggleBuildingLock(index) {
if (l(`productLock${index}`).innerHTML === 'Unlocked') {
l(`productLock${index}`).innerHTML = 'Locked';
l(`row${index}`).children[3].style.pointerEvents = 'none';
} else {
l(`productLock${index}`).innerHTML = 'Unlocked';
l(`row${index}`).children[3].style.pointerEvents = 'auto';
}
}

View File

@@ -19,6 +19,7 @@ import ReplaceTooltips from './ReplaceGameElements/Tooltips';
import ReplaceNative from './ReplaceGameFunctions/ReplaceNative';
import { LastModCount } from './VariablesAndData'; // eslint-disable-line no-unused-vars
import AddWrinklerAreaDetect from './WrinklerArea/AddDetectArea';
import CreateBuildingLockButtons from '../Disp/Buildings/CreateBuildingLockButtons';
/**
* Initialization loop of Cookie Monster
@@ -47,6 +48,7 @@ export default function InitializeCookieMonster() {
});
CreateWrinklerButtons();
UpdateBuildingUpgradeStyle();
CreateBuildingLockButtons();
ReplaceTooltips();
AddWrinklerAreaDetect();