46 lines
1004 B
TypeScript
46 lines
1004 B
TypeScript
import { setDefaultContext } from "./lib/context.ts";
|
|
import { InputManager } from "./lib/input.ts";
|
|
|
|
import { Doodler, Vector, ZoomableDoodler } from "@bearmetal/doodler";
|
|
import { ResourceManager } from "./lib/resources.ts";
|
|
import { addButton } from "./ui/button.ts";
|
|
import { TrackSystem } from "./track/system.ts";
|
|
import { StraightTrack } from "./track/shapes.ts";
|
|
|
|
const inputManager = new InputManager();
|
|
const resources = new ResourceManager();
|
|
const doodler = new ZoomableDoodler({
|
|
fillScreen: true,
|
|
bg: "#302040",
|
|
});
|
|
|
|
setDefaultContext({
|
|
inputManager,
|
|
doodler,
|
|
resources,
|
|
debug: true,
|
|
showEnds: true,
|
|
});
|
|
|
|
doodler.init();
|
|
addButton({
|
|
text: "Hello World!",
|
|
onClick: () => {
|
|
console.log("Hello World!");
|
|
},
|
|
at: [
|
|
new Vector(10, doodler.height - 50),
|
|
new Vector(110, doodler.height - 10),
|
|
],
|
|
style: {
|
|
fillColor: "blue",
|
|
color: "white",
|
|
},
|
|
});
|
|
|
|
const track = new TrackSystem([new StraightTrack()]);
|
|
|
|
doodler.createLayer(() => {
|
|
track.draw();
|
|
});
|