CabinGame/Program/src/setup.ts

35 lines
1.2 KiB
TypeScript
Raw Normal View History

2020-02-17 11:56:41 +00:00
import { Loader, Sprite } from "pixi.js";
import { Door } from "./Components/door";
import { DebugRect } from "./Components/rendering/debugRect";
import { roomBounds } from "./constants";
import globals from "./globals";
import { createRandomHuman } from "./util";
2020-02-17 11:56:41 +00:00
import { Position } from "./Components/position";
import { Point } from "./Datatypes/point";
2020-02-17 11:56:41 +00:00
export function setup(){
let resources = Loader.shared.resources;
//base sprites without entity representation
const bgTex = new Sprite(resources["Background"].texture)
globals.app.stage.addChild(bgTex)
2020-02-17 11:56:41 +00:00
//start entities
//door
globals.world.createEntity()
.addComponent(Position, <Position>{value: new Point(38, 2)})
2020-02-17 11:56:41 +00:00
.addComponent(Door, <Door>{open: true,
openOffset: {x:0, y:0}, openTex: resources["Door"].spritesheet.textures[0],
closedOffset: {x:0, y:0}, closedTex: resources["Door"].spritesheet.textures[1]})
2020-02-17 11:56:41 +00:00
//debug room bounds
globals.world.createEntity()
2020-02-17 11:56:41 +00:00
.addComponent(DebugRect, <DebugRect>{color:0x0000FF, rect: roomBounds})
//example humans
//TODO delete those
2020-02-17 11:56:41 +00:00
for(let i=0;i<10;i++)
createRandomHuman(globals.world)
2020-02-17 11:56:41 +00:00
}