2017-05-29 23:15:32 +00:00
|
|
|
/// <reference path="BaseBattleEvent.ts"/>
|
2015-02-09 00:00:00 +00:00
|
|
|
|
2017-02-09 00:00:35 +00:00
|
|
|
module TS.SpaceTac {
|
2017-05-30 16:24:55 +00:00
|
|
|
/**
|
|
|
|
* Event making a ship move
|
|
|
|
*/
|
|
|
|
export class MoveEvent extends BaseLogShipEvent {
|
|
|
|
// Previous location
|
|
|
|
start: ArenaLocationAngle
|
2017-05-25 23:09:29 +00:00
|
|
|
|
2017-05-30 16:24:55 +00:00
|
|
|
// New location
|
|
|
|
end: ArenaLocationAngle
|
2015-01-26 00:00:00 +00:00
|
|
|
|
2017-08-17 17:51:22 +00:00
|
|
|
// Engine used
|
|
|
|
engine: Equipment | null
|
|
|
|
|
|
|
|
constructor(ship: Ship, start: ArenaLocationAngle, end: ArenaLocationAngle, engine: Equipment | null = null) {
|
2017-05-30 16:24:55 +00:00
|
|
|
super("move", ship, Target.newFromLocation(end.x, end.y));
|
2015-01-26 00:00:00 +00:00
|
|
|
|
2017-05-30 16:24:55 +00:00
|
|
|
this.start = start;
|
|
|
|
this.end = end;
|
2017-08-17 17:51:22 +00:00
|
|
|
this.engine = engine;
|
2017-05-30 16:24:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
getReverse(): BaseBattleEvent {
|
2017-08-17 17:51:22 +00:00
|
|
|
return new MoveEvent(this.ship, this.end, this.start, this.engine);
|
2017-05-30 16:24:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the distance travelled
|
|
|
|
*/
|
|
|
|
getDistance(): number {
|
2017-06-22 22:37:38 +00:00
|
|
|
return arenaDistance(this.start, this.end);
|
2014-12-31 00:00:00 +00:00
|
|
|
}
|
|
|
|
}
|
2015-01-07 00:00:00 +00:00
|
|
|
}
|