You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
47 lines
1.5 KiB
// @ts-nocheck
|
|
const METADATA = {
|
|
website: "https://tobspr.io",
|
|
author: "tobspr",
|
|
name: "Mod Example: Modify UI",
|
|
version: "1",
|
|
id: "modify-ui",
|
|
description: "Shows how to modify a builtin game state, in this case the main menu",
|
|
minimumGameVersion: ">=1.5.0",
|
|
|
|
// You can specify this parameter if savegames will still work
|
|
// after your mod has been uninstalled
|
|
doesNotAffectSavegame: true,
|
|
};
|
|
|
|
class Mod extends shapez.Mod {
|
|
init() {
|
|
// Add fancy sign to main menu
|
|
this.signals.stateEntered.add(state => {
|
|
if (state.key === "MainMenuState") {
|
|
const element = document.createElement("div");
|
|
element.id = "demo_mod_hello_world_element";
|
|
document.body.appendChild(element);
|
|
|
|
const button = document.createElement("button");
|
|
button.classList.add("styledButton");
|
|
button.innerText = "Hello!";
|
|
button.addEventListener("click", () => {
|
|
this.dialogs.showInfo("Mod Message", "Button clicked!");
|
|
});
|
|
element.appendChild(button);
|
|
}
|
|
});
|
|
|
|
this.modInterface.registerCss(`
|
|
#demo_mod_hello_world_element {
|
|
position: absolute;
|
|
top: calc(10px * var(--ui-scale));
|
|
left: calc(10px * var(--ui-scale));
|
|
color: red;
|
|
z-index: 0;
|
|
}
|
|
|
|
`);
|
|
}
|
|
}
|