1
0
Fork 0
spacetac/src/scripts/view/battle/ShipListItem.ts

48 lines
1.6 KiB
TypeScript
Raw Normal View History

module SpaceTac.View {
2015-01-07 00:00:00 +00:00
"use strict";
// One item in a ship list (used in BattleView)
export class ShipListItem extends Phaser.Button {
2014-12-31 00:00:00 +00:00
// Reference to the ship game object
ship: Game.Ship;
// Hull display
hull: ValueBar;
// Shield display
shield: ValueBar;
2014-12-31 00:00:00 +00:00
// Create a ship button for the battle ship list
constructor(list: ShipList, x: number, y: number, ship: Game.Ship, owned: boolean) {
2014-12-31 00:00:00 +00:00
this.ship = ship;
2015-01-23 00:00:00 +00:00
super(list.battleview.game, x, y, owned ? "battle-shiplist-own" : "battle-shiplist-enemy");
2014-12-31 00:00:00 +00:00
this.input.useHandCursor = true;
2014-12-31 00:00:00 +00:00
this.onInputOver.add(() => {
list.battleview.cursorOnShip(ship);
2014-12-31 00:00:00 +00:00
});
this.onInputOut.add(() => {
list.battleview.cursorOffShip(ship);
2014-12-31 00:00:00 +00:00
});
this.hull = ValueBar.newStandard(list.battleview.game, 40, 0);
this.hull.scale.set(0.1, 0.1);
this.addChild(this.hull);
this.shield = ValueBar.newStandard(list.battleview.game, 40, 20);
this.shield.scale.set(0.1, 0.1);
this.addChild(this.shield);
}
// Called when an attribute for this ship changed through the battle log
attributeChanged(attribute: Game.Attribute): void {
if (attribute.code === Game.AttributeCode.Hull) {
this.hull.setValue(attribute.current, attribute.maximal);
} else if (attribute.code === Game.AttributeCode.Shield) {
this.shield.setValue(attribute.current, attribute.maximal);
}
}
}
2015-01-07 00:00:00 +00:00
}