mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
120 lines
4.5 KiB
Haxe
120 lines
4.5 KiB
Haxe
package gui;
|
|
|
|
import src.MarbleGame;
|
|
import gui.GuiControl.MouseState;
|
|
import hxd.res.BitmapFont;
|
|
import h3d.Vector;
|
|
import src.ResourceLoader;
|
|
import src.Settings;
|
|
import src.Util;
|
|
|
|
class MainMenuGui extends GuiImage {
|
|
public function new() {
|
|
var img = ResourceLoader.getImage('data/ui/backgrounds/platinum/${cast (Math.floor(Util.lerp(1, 28, Math.random())), Int)}.jpg');
|
|
super(img.resource.toTile());
|
|
var domcasual32fontdata = ResourceLoader.getFileEntry("data/font/DomCasualD.fnt");
|
|
var domcasual32b = new BitmapFont(domcasual32fontdata.entry);
|
|
@:privateAccess domcasual32b.loader = ResourceLoader.loader;
|
|
var domcasual32 = domcasual32b.toSdfFont(cast 26 * Settings.uiScale, MultiChannel);
|
|
|
|
this.horizSizing = Width;
|
|
this.vertSizing = Height;
|
|
this.position = new Vector();
|
|
this.extent = new Vector(640, 480);
|
|
|
|
var mainMenuContent = new GuiControl();
|
|
mainMenuContent.horizSizing = Center;
|
|
mainMenuContent.vertSizing = Center;
|
|
mainMenuContent.position = new Vector(-130, -110);
|
|
mainMenuContent.extent = new Vector(900, 700);
|
|
|
|
function loadButtonImages(path:String) {
|
|
var normal = ResourceLoader.getResource('${path}_n.png', ResourceLoader.getImage, this.imageResources).toTile();
|
|
var hover = ResourceLoader.getResource('${path}_h.png', ResourceLoader.getImage, this.imageResources).toTile();
|
|
var pressed = ResourceLoader.getResource('${path}_d.png', ResourceLoader.getImage, this.imageResources).toTile();
|
|
return [normal, hover, pressed];
|
|
}
|
|
|
|
var siteButton = new GuiButton(loadButtonImages('data/ui/menu/site'));
|
|
siteButton.horizSizing = Right;
|
|
siteButton.vertSizing = Top;
|
|
siteButton.position = new Vector(363, 664);
|
|
siteButton.extent = new Vector(400, 30);
|
|
siteButton.pressedAction = (sender) -> {}
|
|
mainMenuContent.addChild(siteButton);
|
|
|
|
var motdButton = new GuiImage(ResourceLoader.getResource('data/ui/menu/totd_i.png', ResourceLoader.getImage, this.imageResources).toTile());
|
|
motdButton.horizSizing = Left;
|
|
motdButton.vertSizing = Top;
|
|
motdButton.position = new Vector(706, 536);
|
|
motdButton.extent = new Vector(191, 141);
|
|
mainMenuContent.addChild(motdButton);
|
|
|
|
var playButton = new GuiButton(loadButtonImages("data/ui/menu/play"));
|
|
playButton.position = new Vector(-5, -2);
|
|
playButton.extent = new Vector(247, 164);
|
|
playButton.pressedAction = (sender) -> {
|
|
cast(this.parent, Canvas).setContent(new PlayMissionGui());
|
|
}
|
|
mainMenuContent.addChild(playButton);
|
|
|
|
var lbButton = new GuiImage(ResourceLoader.getResource('data/ui/menu/online_i.png', ResourceLoader.getImage, this.imageResources).toTile());
|
|
lbButton.position = new Vector(-5, 128);
|
|
lbButton.extent = new Vector(247, 164);
|
|
mainMenuContent.addChild(lbButton);
|
|
|
|
var optionsButton = new GuiButton(loadButtonImages("data/ui/menu/options"));
|
|
optionsButton.position = new Vector(-5, 258);
|
|
optionsButton.extent = new Vector(247, 164);
|
|
optionsButton.pressedAction = (sender) -> {
|
|
cast(this.parent, Canvas).setContent(new OptionsDlg());
|
|
}
|
|
mainMenuContent.addChild(optionsButton);
|
|
|
|
var exitButton = new GuiButton(loadButtonImages("data/ui/menu/quit"));
|
|
exitButton.position = new Vector(-5, 388);
|
|
exitButton.extent = new Vector(247, 164);
|
|
exitButton.pressedAction = (sender) -> {
|
|
#if hl
|
|
Sys.exit(0);
|
|
#end
|
|
};
|
|
mainMenuContent.addChild(exitButton);
|
|
|
|
var replButton = new GuiButton(loadButtonImages("data/ui/menu/replay"));
|
|
replButton.horizSizing = Left;
|
|
replButton.vertSizing = Top;
|
|
replButton.position = new Vector(552, 536);
|
|
replButton.extent = new Vector(191, 141);
|
|
replButton.pressedAction = (sender) -> {};
|
|
mainMenuContent.addChild(replButton);
|
|
|
|
var helpButton = new GuiButton(loadButtonImages("data/ui/menu/help"));
|
|
helpButton.horizSizing = Left;
|
|
helpButton.vertSizing = Top;
|
|
helpButton.position = new Vector(398, 536);
|
|
helpButton.extent = new Vector(191, 141);
|
|
helpButton.pressedAction = (sender) -> {
|
|
MarbleGame.canvas.setContent(new HelpCreditsGui());
|
|
}
|
|
mainMenuContent.addChild(helpButton);
|
|
|
|
this.addChild(mainMenuContent);
|
|
|
|
var mbp = new GuiImage(ResourceLoader.getResource("data/ui/menu/mbp.png", ResourceLoader.getImage, this.imageResources).toTile());
|
|
mbp.horizSizing = Left;
|
|
mbp.vertSizing = Bottom;
|
|
mbp.position = new Vector(476, 12);
|
|
mbp.extent = new Vector(153, 150);
|
|
this.addChild(mbp);
|
|
|
|
var versionText = new GuiMLText(domcasual32, null);
|
|
|
|
versionText.horizSizing = Left;
|
|
versionText.vertSizing = Bottom;
|
|
versionText.position = new Vector(502, 66);
|
|
versionText.extent = new Vector(97, 72);
|
|
versionText.text.text = "<p align=\"center\">1.1.2</p>";
|
|
this.addChild(versionText);
|
|
}
|
|
}
|