import Scene from "../../Wolfie2D/Scene/Scene"; import ConfigManager from "../Tools/ConfigManager"; import SaveManager from "../Tools/SaveManager"; import Vec2 from "../../Wolfie2D/DataTypes/Vec2"; import { GameEventType } from "../../Wolfie2D/Events/GameEventType"; import AnimatedSprite from "../../Wolfie2D/Nodes/Sprites/AnimatedSprite"; import Button from "../../Wolfie2D/Nodes/UIElements/Button"; import { UIElementType } from "../../Wolfie2D/Nodes/UIElements/UIElementTypes"; import Color from "../../Wolfie2D/Utils/Color"; import Layer from "../../Wolfie2D/Scene/Layer"; import Label from "../../Wolfie2D/Nodes/UIElements/Label"; import Levels from "./Levels"; import RandomMapGenerator from "../Tools/RandomMapGenerator"; export default class MainMenu extends Scene { protected config: ConfigManager; protected save: SaveManager; // Layers, for multiple main menu screens private mainMenu: Layer; private about: Layer; private control: Layer; // private rmg: RandomMapGenerator; loadScene(): void { // Load the menu song //this.load.audio("menu", "shattered_sword_assets/music/menu.mp3"); } //TODO startScene(): void{ const center = this.viewport.getCenter(); // The main menu this.mainMenu = this.addUILayer("mainMenu"); // Add map button, and give it an event to emit on press const map = this.add.uiElement(UIElementType.BUTTON, "mainMenu", {position: new Vec2(center.x, center.y - 100), text: "Map"}); map.size.set(200, 50); map.borderWidth = 2; map.borderColor = Color.WHITE; map.backgroundColor = Color.TRANSPARENT; map.onClickEventId = "map"; // Add about button const about = this.add.uiElement(UIElementType.BUTTON, "mainMenu", {position: new Vec2(center.x, center.y + 100), text: "About"}); about.size.set(200, 50); about.borderWidth = 2; about.borderColor = Color.WHITE; about.backgroundColor = Color.TRANSPARENT; about.onClickEventId = "about"; // Add about button const form = this.add.uiElement(UIElementType.BUTTON, "mainMenu", {position: new Vec2(center.x, center.y + 200), text: "Google Form"}); form.size.set(200, 50); form.borderWidth = 2; form.borderColor = Color.WHITE; form.backgroundColor = Color.TRANSPARENT; form.onClick = function() { window.open("https://forms.gle/Ku7RmUdNn7b9m5ch6"); }; // Add control button, and give it an event to emit on press const control = this.add.uiElement(UIElementType.BUTTON, "mainMenu", {position: new Vec2(center.x, center.y), text: "Controls"}); control.size.set(200, 50); control.borderWidth = 2; control.borderColor = Color.WHITE; control.backgroundColor = Color.TRANSPARENT; control.onClickEventId = "control"; /* ########## ABOUT SCREEN ########## */ this.about = this.addUILayer("about"); this.about.setHidden(true); const aboutHeader =