accelerator keys

This commit is contained in:
RandomityGuy 2022-12-17 14:24:51 +05:30
parent 194ccc6b6a
commit d974d14d1e
6 changed files with 14 additions and 0 deletions

View file

@ -42,6 +42,7 @@ class EndGameGui extends GuiControl {
continueButton.vertSizing = Bottom;
continueButton.position = new Vector(333, 386);
continueButton.extent = new Vector(113, 47);
continueButton.accelerator = hxd.Key.ENTER;
continueButton.pressedAction = continueFunc;
var restartButton = new GuiButton(loadButtonImages("data/ui/endgame/replay"));

View file

@ -47,12 +47,14 @@ class ExitGameDlg extends GuiControl {
yesButton.vertSizing = Bottom;
yesButton.horizSizing = Right;
yesButton.pressedAction = yesFunc;
yesButton.accelerator = hxd.Key.ENTER;
var noButton = new GuiButton(loadButtonImages("data/ui/common/no"));
noButton.position = new Vector(151, 107);
noButton.extent = new Vector(83, 55);
noButton.vertSizing = Bottom;
noButton.horizSizing = Right;
noButton.accelerator = hxd.Key.ESCAPE;
noButton.pressedAction = noFunc;
var restartButton = new GuiButton(loadButtonImages("data/ui/common/restart"));

View file

@ -27,6 +27,8 @@ class GuiButton extends GuiAnim {
public var buttonSounds:Bool = true;
public var accelerator:Int = 0;
public function new(anim:Array<Tile>) {
super(anim);
}
@ -67,6 +69,11 @@ class GuiButton extends GuiAnim {
}
}
}
if (!disabled && accelerator != 0 && hxd.Key.isReleased(accelerator)) {
if (this.pressedAction != null) {
this.pressedAction(new GuiEvent(this));
}
}
super.update(dt, mouseState);
}

View file

@ -70,6 +70,7 @@ class HelpCreditsGui extends GuiImage {
var homeButton = new GuiButton(loadButtonImages("data/ui/play/back"));
homeButton.position = new Vector(278, 378);
homeButton.extent = new Vector(79, 61);
homeButton.accelerator = hxd.Key.ESCAPE;
homeButton.pressedAction = (sender) -> {
MarbleGame.canvas.setContent(new MainMenuGui());
}

View file

@ -46,6 +46,7 @@ class MessageBoxOkDlg extends GuiControl {
okButton.position = new Vector(117, 85);
okButton.extent = new Vector(78, 59);
okButton.vertSizing = Top;
okButton.accelerator = hxd.Key.ENTER;
okButton.pressedAction = (sender) -> {
MarbleGame.canvas.popDialog(this);
}

View file

@ -46,6 +46,7 @@ class MessageBoxYesNoDlg extends GuiControl {
yesButton.position = new Vector(44, 94);
yesButton.extent = new Vector(82, 47);
yesButton.vertSizing = Top;
yesButton.accelerator = hxd.Key.ENTER;
yesButton.pressedAction = (sender) -> {
MarbleGame.canvas.popDialog(this);
yesFunc();
@ -56,6 +57,7 @@ class MessageBoxYesNoDlg extends GuiControl {
noButton.position = new Vector(151, 94);
noButton.extent = new Vector(75, 47);
noButton.vertSizing = Top;
noButton.accelerator = hxd.Key.ESCAPE;
noButton.pressedAction = (sender) -> {
MarbleGame.canvas.popDialog(this);
noFunc();