diff --git a/src/scripts/game/Battle.ts b/src/scripts/game/Battle.ts index f7c933b..b25afd6 100644 --- a/src/scripts/game/Battle.ts +++ b/src/scripts/game/Battle.ts @@ -87,7 +87,7 @@ module SpaceTac.Game { } if (log) { - this.log.add(new Events.ShipChangeEvent(previous_ship, this.playing_ship)); + this.log.add(new ShipChangeEvent(previous_ship, this.playing_ship)); } } @@ -109,11 +109,11 @@ module SpaceTac.Game { // Simulate initial ship placement this.play_order.forEach((ship) => { - log.add(new Events.MoveEvent(ship, ship.arena_x, ship.arena_y)); + log.add(new MoveEvent(ship, ship.arena_x, ship.arena_y)); }); // Simulate game turn - log.add(new Events.ShipChangeEvent(this.playing_ship, this.playing_ship)); + log.add(new ShipChangeEvent(this.playing_ship, this.playing_ship)); } // Create a quick random battle, for testing purposes diff --git a/src/scripts/game/BattleLog.ts b/src/scripts/game/BattleLog.ts index 8115714..bc3e6d5 100644 --- a/src/scripts/game/BattleLog.ts +++ b/src/scripts/game/BattleLog.ts @@ -4,7 +4,7 @@ module SpaceTac.Game { // It also allows to register a callback to receive these events export class BattleLog { // Full list of battle events - events: Events.BaseLogEvent[]; + events: BaseLogEvent[]; // List of subscribers private subscribers: Function[]; @@ -16,7 +16,7 @@ module SpaceTac.Game { } // Add a battle event to the log - add(event: Events.BaseLogEvent) { + add(event: BaseLogEvent) { this.events.push(event); this.subscribers.forEach((subscriber) => { @@ -25,7 +25,7 @@ module SpaceTac.Game { } // Subscribe a callback to receive further events - subscribe(callback: (event: Events.BaseLogEvent) => void): Function { + subscribe(callback: (event: BaseLogEvent) => void): Function { this.subscribers.push(callback); return callback; } diff --git a/src/scripts/game/Ship.ts b/src/scripts/game/Ship.ts index 7ed481c..9f15ffe 100644 --- a/src/scripts/game/Ship.ts +++ b/src/scripts/game/Ship.ts @@ -82,9 +82,9 @@ module SpaceTac.Game { // Get the list of actions available // This list does not filter out actions unavailable due to insufficient AP, it justs filter out // actions that are not allowed/available at all on the ship - getAvailableActions(): Actions.BaseAction[] { + getAvailableActions(): BaseAction[] { // TODO - return [new Actions.MoveAction()]; + return [new MoveAction()]; } // Consumes action points diff --git a/src/scripts/game/actions/BaseAction.ts b/src/scripts/game/actions/BaseAction.ts index 7ba2f8a..4d59310 100644 --- a/src/scripts/game/actions/BaseAction.ts +++ b/src/scripts/game/actions/BaseAction.ts @@ -1,4 +1,4 @@ -module SpaceTac.Game.Actions { +module SpaceTac.Game { // Base class for action definitions export class BaseAction { // Identifier code for the type of action diff --git a/src/scripts/game/actions/MoveAction.ts b/src/scripts/game/actions/MoveAction.ts index 0328586..e91aff7 100644 --- a/src/scripts/game/actions/MoveAction.ts +++ b/src/scripts/game/actions/MoveAction.ts @@ -1,4 +1,4 @@ -module SpaceTac.Game.Actions { +module SpaceTac.Game { // Action to move to a given location export class MoveAction extends BaseAction { constructor() { diff --git a/src/scripts/game/events/BaseLogEvent.ts b/src/scripts/game/events/BaseLogEvent.ts index 2b2fefb..f5b2911 100644 --- a/src/scripts/game/events/BaseLogEvent.ts +++ b/src/scripts/game/events/BaseLogEvent.ts @@ -1,4 +1,4 @@ -module SpaceTac.Game.Events { +module SpaceTac.Game { // Base class for a BattleLog event export class BaseLogEvent { // Code of the event (its type) diff --git a/src/scripts/game/events/MoveEvent.ts b/src/scripts/game/events/MoveEvent.ts index 4e821b9..ee811c9 100644 --- a/src/scripts/game/events/MoveEvent.ts +++ b/src/scripts/game/events/MoveEvent.ts @@ -1,4 +1,4 @@ -module SpaceTac.Game.Events { +module SpaceTac.Game { // Event logged when a ship moves export class MoveEvent extends BaseLogEvent { constructor(ship: Ship, x: number, y: number) { diff --git a/src/scripts/game/events/ShipChangeEvent.ts b/src/scripts/game/events/ShipChangeEvent.ts index b75a84c..83c2342 100644 --- a/src/scripts/game/events/ShipChangeEvent.ts +++ b/src/scripts/game/events/ShipChangeEvent.ts @@ -1,4 +1,4 @@ -module SpaceTac.Game.Events { +module SpaceTac.Game { // Battle event, when a ship turn ended, and advanced to a new one export class ShipChangeEvent extends BaseLogEvent { constructor(ship: Ship, new_ship: Ship) { diff --git a/src/scripts/game/specs/Battle.spec.ts b/src/scripts/game/specs/Battle.spec.ts index 67a599b..058397e 100644 --- a/src/scripts/game/specs/Battle.spec.ts +++ b/src/scripts/game/specs/Battle.spec.ts @@ -1,26 +1,26 @@ /// -module SpaceTac.Specs { +module SpaceTac.Game { describe("Battle", function () { it("defines play order by initiative throws", function () { - var fleet1 = new Game.Fleet(null); - var fleet2 = new Game.Fleet(null); + var fleet1 = new Fleet(null); + var fleet2 = new Fleet(null); - var ship1 = new Game.Ship(fleet1, "F1S1"); + var ship1 = new Ship(fleet1, "F1S1"); ship1.initiative_level = 2; - var ship2 = new Game.Ship(fleet1, "F1S2"); + var ship2 = new Ship(fleet1, "F1S2"); ship2.initiative_level = 4; - var ship3 = new Game.Ship(fleet1, "F1S3"); + var ship3 = new Ship(fleet1, "F1S3"); ship3.initiative_level = 1; - var ship4 = new Game.Ship(fleet2, "F2S1"); + var ship4 = new Ship(fleet2, "F2S1"); ship4.initiative_level = 8; - var ship5 = new Game.Ship(fleet2, "F2S2"); + var ship5 = new Ship(fleet2, "F2S2"); ship5.initiative_level = 2; - var battle = new Game.Battle(fleet1, fleet2); + var battle = new Battle(fleet1, fleet2); expect(battle.play_order.length).toBe(0); - var gen = new Game.RandomGenerator(1.0, 0.1, 1.0, 0.2, 0.6); + var gen = new RandomGenerator(1.0, 0.1, 1.0, 0.2, 0.6); battle.throwInitiative(gen); expect(battle.play_order.length).toBe(5); @@ -28,16 +28,16 @@ module SpaceTac.Specs { }); it("places ships on lines, facing the arena center", function(){ - var fleet1 = new Game.Fleet(null); - var fleet2 = new Game.Fleet(null); + var fleet1 = new Fleet(null); + var fleet2 = new Fleet(null); - var ship1 = new Game.Ship(fleet1, "F1S1"); - var ship2 = new Game.Ship(fleet1, "F1S2"); - var ship3 = new Game.Ship(fleet1, "F1S3"); - var ship4 = new Game.Ship(fleet2, "F2S1"); - var ship5 = new Game.Ship(fleet2, "F2S2"); + var ship1 = new Ship(fleet1, "F1S1"); + var ship2 = new Ship(fleet1, "F1S2"); + var ship3 = new Ship(fleet1, "F1S3"); + var ship4 = new Ship(fleet2, "F2S1"); + var ship5 = new Ship(fleet2, "F2S2"); - var battle = new Game.Battle(fleet1, fleet2); + var battle = new Battle(fleet1, fleet2); battle.placeShips(); expect(ship1.arena_x).toBeCloseTo(100, 0.0001); @@ -62,14 +62,14 @@ module SpaceTac.Specs { }); it("advances to next ship in play order", function(){ - var fleet1 = new Game.Fleet(null); - var fleet2 = new Game.Fleet(null); + var fleet1 = new Fleet(null); + var fleet2 = new Fleet(null); - var ship1 = new Game.Ship(fleet1, "F1S1"); - var ship2 = new Game.Ship(fleet1, "F1S2"); - var ship3 = new Game.Ship(fleet2, "F2S1"); + var ship1 = new Ship(fleet1, "F1S1"); + var ship2 = new Ship(fleet1, "F1S2"); + var ship3 = new Ship(fleet2, "F2S1"); - var battle = new Game.Battle(fleet1, fleet2); + var battle = new Battle(fleet1, fleet2); // Check empty play_order case expect(battle.playing_ship).toBeNull(); @@ -79,7 +79,7 @@ module SpaceTac.Specs { expect(battle.playing_ship_index).toBeNull(); // Force play order - var gen = new Game.RandomGenerator(0.1, 0.2, 0.0); + var gen = new RandomGenerator(0.1, 0.2, 0.0); battle.throwInitiative(gen); expect(battle.playing_ship).toBeNull(); diff --git a/src/scripts/game/specs/BattleLog.spec.ts b/src/scripts/game/specs/BattleLog.spec.ts index 7f1e1d3..f148e14 100644 --- a/src/scripts/game/specs/BattleLog.spec.ts +++ b/src/scripts/game/specs/BattleLog.spec.ts @@ -1,10 +1,10 @@ /// -module SpaceTac.Specs { +module SpaceTac.Game { // Check a single game log event - function checkEvent(got: Game.Events.BaseLogEvent, ship: Game.Ship, code: string, - target_ship: Game.Ship = null, target_x: number = null, target_y: number = null): void { + function checkEvent(got: BaseLogEvent, ship: Ship, code: string, + target_ship: Ship = null, target_x: number = null, target_y: number = null): void { if (target_ship) { if (target_x === null) { target_x = target_ship.arena_x; @@ -30,7 +30,7 @@ module SpaceTac.Specs { } // Fake event - class FakeEvent extends Game.Events.BaseLogEvent { + class FakeEvent extends BaseLogEvent { constructor() { super("fake"); } @@ -38,7 +38,7 @@ module SpaceTac.Specs { describe("BattleLog", function () { it("forwards events to subscribers, until unsubscribe", function () { - var log = new Game.BattleLog(); + var log = new BattleLog(); var received = []; var fake = new FakeEvent(); @@ -58,7 +58,7 @@ module SpaceTac.Specs { }); it("logs ship change events", function () { - var battle = Game.Battle.newQuickRandom(); + var battle = Battle.newQuickRandom(); expect(battle.log.events.length).toBe(0); battle.advanceToNextShip(); @@ -67,7 +67,7 @@ module SpaceTac.Specs { }); it("can receive simulated initial state events", function (){ - var battle = Game.Battle.newQuickRandom(); + var battle = Battle.newQuickRandom(); expect(battle.log.events.length).toBe(0); diff --git a/src/scripts/game/specs/MoveAction.spec.ts b/src/scripts/game/specs/MoveAction.spec.ts index 348718a..b0aa4fa 100644 --- a/src/scripts/game/specs/MoveAction.spec.ts +++ b/src/scripts/game/specs/MoveAction.spec.ts @@ -1,4 +1,6 @@ -module SpaceTac.Game.Specs { +/// + +module SpaceTac.Game { describe("MoveAction", function () { it("checks movement against remaining AP", function(){ var ship = new Ship(null, "Test"); @@ -6,7 +8,7 @@ module SpaceTac.Game.Specs { ship.movement_cost = 2; ship.arena_x = 0; ship.arena_y = 0; - var action = new Actions.MoveAction(); + var action = new MoveAction(); var result = action.checkTarget(null, ship, Target.newFromLocation(0, 2)); expect(result).toEqual(Target.newFromLocation(0, 2)); @@ -22,7 +24,7 @@ module SpaceTac.Game.Specs { it("forbids targetting a ship", function(){ var ship1 = new Ship(null, "Test1"); var ship2 = new Ship(null, "Test2"); - var action = new Actions.MoveAction(); + var action = new MoveAction(); var result = action.checkTarget(null, ship1, Target.newFromShip(ship1)); expect(result).toBeNull(); diff --git a/src/scripts/game/specs/Ship.spec.ts b/src/scripts/game/specs/Ship.spec.ts index ca90d42..d21a67d 100644 --- a/src/scripts/game/specs/Ship.spec.ts +++ b/src/scripts/game/specs/Ship.spec.ts @@ -1,9 +1,9 @@ /// -module SpaceTac.Specs { +module SpaceTac.Game { describe("Ship", function(){ it("limits movement range by action points", function(){ - var ship = new Game.Ship(null, "Test"); + var ship = new Ship(null, "Test"); ship.ap_current = 8; ship.movement_cost = 3; ship.setArenaPosition(50, 50); @@ -17,7 +17,7 @@ module SpaceTac.Specs { }); it("moves and consumes action points", function(){ - var ship = new Game.Ship(null, "Test"); + var ship = new Ship(null, "Test"); ship.ap_current = 8; ship.movement_cost = 3; ship.setArenaPosition(50, 50); diff --git a/src/scripts/view/BattleView.ts b/src/scripts/view/BattleView.ts index c04b772..fe63bbe 100644 --- a/src/scripts/view/BattleView.ts +++ b/src/scripts/view/BattleView.ts @@ -18,10 +18,10 @@ module SpaceTac.View { targetting: Targetting; // Card to display current playing ship - card_playing: Widgets.ShipCard; + card_playing: ShipCard; // Card to display hovered ship - card_hovered: Widgets.ShipCard; + card_hovered: ShipCard; // Currently hovered ship ship_hovered: Game.Ship; @@ -52,19 +52,19 @@ module SpaceTac.View { game.add.existing(this.arena); var arena = this.arena; - this.card_playing = new Widgets.ShipCard(this, 500, 0); - this.card_hovered = new Widgets.ShipCard(this, 500, 300); + this.card_playing = new ShipCard(this, 500, 0); + this.card_hovered = new ShipCard(this, 500, 300); game.stage.backgroundColor = 0x000000; // Add ship buttons to UI this.battle.play_order.forEach(function (ship: Game.Ship, rank: number) { - new Widgets.ShipListItem(battleview, 0, rank * 50, ship, ship.getPlayer() === player); + new ShipListItem(battleview, 0, rank * 50, ship, ship.getPlayer() === player); }); // Add ship sprites to arena this.battle.play_order.forEach(function (ship: Game.Ship) { - new Arena.ShipArenaSprite(battleview, ship); + new ShipArenaSprite(battleview, ship); }); // Subscribe to log events @@ -105,7 +105,7 @@ module SpaceTac.View { } // Process a BaseLogEvent - processBattleEvent(event: Game.Events.BaseLogEvent) { + processBattleEvent(event: Game.BaseLogEvent) { console.log("Battle event", event); if (event.code == "ship_change") { // Playing ship changed diff --git a/src/scripts/view/arena/ShipArenaSprite.ts b/src/scripts/view/arena/ShipArenaSprite.ts index 4bb62ff..2c1221a 100644 --- a/src/scripts/view/arena/ShipArenaSprite.ts +++ b/src/scripts/view/arena/ShipArenaSprite.ts @@ -1,4 +1,4 @@ -module SpaceTac.View.Arena { +module SpaceTac.View { // Ship sprite in the arena (BattleView) export class ShipArenaSprite extends Phaser.Button { constructor(battleview: BattleView, ship: Game.Ship) { diff --git a/src/scripts/view/widgets/ActionIcon.ts b/src/scripts/view/widgets/ActionIcon.ts index 205a902..245b3ba 100644 --- a/src/scripts/view/widgets/ActionIcon.ts +++ b/src/scripts/view/widgets/ActionIcon.ts @@ -1,4 +1,4 @@ -module SpaceTac.View.Widgets { +module SpaceTac.View { // Icon to activate a ship capability (move, fire...) export class ActionIcon extends Phaser.Button { constructor(battleview: BattleView, x: number, y:number, code: string) { diff --git a/src/scripts/view/widgets/ShipCard.ts b/src/scripts/view/widgets/ShipCard.ts index 08f24b2..579f565 100644 --- a/src/scripts/view/widgets/ShipCard.ts +++ b/src/scripts/view/widgets/ShipCard.ts @@ -1,4 +1,4 @@ -module SpaceTac.View.Widgets { +module SpaceTac.View { // Card to display detailed information about a ship export class ShipCard extends Phaser.Sprite { // Displayed ship diff --git a/src/scripts/view/widgets/ShipListItem.ts b/src/scripts/view/widgets/ShipListItem.ts index 9ac3368..60594a2 100644 --- a/src/scripts/view/widgets/ShipListItem.ts +++ b/src/scripts/view/widgets/ShipListItem.ts @@ -1,4 +1,4 @@ -module SpaceTac.View.Widgets { +module SpaceTac.View { // One item in a ship list (used in BattleView) export class ShipListItem extends Phaser.Button { // Reference to the ship game object