MBHaxe/src/Main.hx
2021-07-13 16:11:12 +05:30

68 lines
1.3 KiB
Haxe

package;
import src.ResourceLoader;
import fs.ManifestFileSystem;
import hxd.Timer;
import hxd.Window;
import src.AudioManager;
import src.Settings;
import src.MarbleGame;
import gui.MainMenuGui;
import hxd.res.DefaultFont;
import h2d.Text;
import h3d.Vector;
import fs.ManifestBuilder;
class Main extends hxd.App {
var marbleGame:MarbleGame;
var fpsCounter:Text;
var loaded:Bool = false;
override function init() {
super.init();
#if hl
hl.UI.closeConsole();
#end
ResourceLoader.init(s2d, () -> {
Settings.init();
AudioManager.init();
AudioManager.playShell();
marbleGame = new MarbleGame(s2d, s3d);
MarbleGame.canvas.setContent(new MainMenuGui());
// world = new MarbleWorld(s3d, s2d, mission);
// world.init();
// world.start();
fpsCounter = new Text(DefaultFont.get(), s2d);
fpsCounter.y = 40;
fpsCounter.color = new Vector(1, 1, 1, 1);
loaded = true;
});
}
override function update(dt:Float) {
super.update(dt);
if (loaded) {
marbleGame.update(dt);
// world.update(dt);
fpsCounter.text = 'FPS: ${this.engine.fps}';
}
}
override function render(e:h3d.Engine) {
// this.world.render(e);
if (loaded)
marbleGame.render(e);
super.render(e);
}
static function main() {
// h3d.mat.PbrMaterialSetup.set();
new Main();
}
}