module charge.game.tui.menuscene

Code Map

module charge.game.tui.menuscene;


class Button
{
public:
	pressed: void delegate(Button);
	str: string;
	x: i32;
	y: i32;
	w: u32;
	h: u32;


public:
	this() { }
	fn maybeClicked(x: i32, y: i32) { }
}

class MenuScene : WindowScene
{
public:
	enum TopOffset;
	enum TotalWidth;
	enum ButtonWidth;
	enum ButtonHeight;
	enum ButtonVerticalSeperation;
	enum LastButtonWidth;
	enum LastButtonHorizontalSeperation;


public:
	buttons: Button[];
	quit: Button;
	close: Button;


public:
	this(m: scene.Manager, header: string, buttons: scope (scope (Button)[])) { }
	fn keyDown(ctl.Keyboard, keycode: i32) { }
	fn gridMouseDown(m: ctl.Mouse, x: u32, y: u32, button: i32) { }
}