Omnibus's picture
Upload 131 files
4ee4376
export default class actor {
constructor (options) {
this.scene = options.scene;
this.common = this.scene.sys.game.common;
this.sprite = undefined;
this.cell = undefined;
this.depth = 10000;
this.tick = 0; // current tick
this.tickFrequency = 10; // how often to update
this.x = 0;
this.y = 0;
this.z = 0;
}
spawn () {
return;
}
update () {
}
sleep () {
}
wake () {
}
hide () {
}
show () {
}
destroy () {
this.sprites = [];
}
calculatePosition () {
this.offset = 0;
this.x = this.cell.position.bottom.x - (this.tile.width / 2) << 0;
this.y = this.cell.position.bottom.y - (this.tile.height) - this.offset << 0;
}
getTile (tileId) {
if (!this.common.tiles[tileId])
return false;
tileId = this.common.tiles[tileId].rotate[this.scene.city.cameraRotation];
return this.common.tiles[tileId];
}
create () {
this.calculatePosition();
if (this.tile.frames > 1)
this.sprite = this.scene.add.sprite(this.x, this.y, this.common.tilemap).play(this.tile.image);
else
this.sprite = this.scene.add.sprite(this.x, this.y, this.common.tilemap, this.tile.textures[0]);
//console.log(this.sprite);
this.sprite.cell = this.cell;
this.sprite.type = this.type;
this.sprite.setScale(this.common.scale);
this.sprite.setOrigin(0, 0);
this.sprite.setDepth(this.cell.depth + this.depth + (this.tile.depthAdjustment || 0));
}
addSprite (sprite) {
this.sprites.push(sprite);
}
}