diff --git a/Engine/src/live/World.ts b/Engine/src/live/World.ts index 9ac2bc4..2593d3e 100644 --- a/Engine/src/live/World.ts +++ b/Engine/src/live/World.ts @@ -1,6 +1,6 @@ import { Entity } from "./Entity" export interface WorldContext { - addEntity(entity: Entity, x: number, y: number): void + addEntity(entity: Entity, layerTitle: string, x: number, y: number): void removeEntity(entity: Entity): void } \ No newline at end of file diff --git a/Engine/src/states/Game.ts b/Engine/src/states/Game.ts index 26b4831..4b19eff 100644 --- a/Engine/src/states/Game.ts +++ b/Engine/src/states/Game.ts @@ -35,8 +35,8 @@ export function GameState(ctx: ContextI): StateI { //disableSound() let isNight = false let modeTimer = 0 - let nightTime = 10 * 1000 - let dayTime = 10 * 1000 + let nightTime = 30 * 1000 + let dayTime = 30 * 1000 let lastTime: number = performance.now() let world: planck.World = planck.World({ @@ -146,7 +146,7 @@ export function GameState(ctx: ContextI): StateI { } // Add bogus entity - addEntity(new PlayerEntity('deer.animal.stand.west.0'), 300, 100) + addEntity(new PlayerEntity('deer.animal.stand.west.0'), 'objects', 300, 100) ctx.app.stage.addChild(rootContainer) } @@ -189,6 +189,8 @@ export function GameState(ctx: ContextI): StateI { // FIXME: This isn't the right place for this. rootContainer.position.set(Math.round(ctx.app.renderer.width/2), Math.round(ctx.app.renderer.height/2)) rootContainer.pivot.set(Math.max(rootContainer.width/6, Math.min(entity.x, rootContainer.width/3)), Math.max(rootContainer.height/6, Math.min(entity.y, rootContainer.height/3))) + } else { + //console.log('hmm, we do be tickin', entity, entity.x, entity.y) } entity.update(realDelta, worldContext) // I guess... @@ -198,11 +200,14 @@ export function GameState(ctx: ContextI): StateI { } } - let addEntity = (entity: Entity, x: number, y: number) => { + let addEntity = (entity: Entity, layerTitle: string, x: number, y: number) => { + console.log('add called with', x, y) if (entities.find(v=>v===entity)) return console.log('add somethin', entity) entities.push(entity) - playLayer.container.addChild(entity.sprite.container) + let layer = layers.find(v=>v.title===layerTitle) + if (!layer) layer = playLayer + layer.container.addChild(entity.sprite.container) // I guess this is a fair enough place to create physics and add it to the entity. let spriteShape = entity.sprite.getBodyShape() if (spriteShape) { @@ -230,10 +235,11 @@ export function GameState(ctx: ContextI): StateI { } entity.x = x entity.y = y + console.log('set entity xy', entity.x, entity.y) } let removeEntity = (entity: Entity) => { entities = entities.filter(v=>v!==entity) - playLayer.container.removeChild(entity.sprite.container) + entity.sprite.container.parent.removeChild(entity.sprite.container) if (entity.body) { world.destroyBody(entity.body) entity.body = undefined