Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 62 additions & 44 deletions src/js/builders/PlanetCardBuilder.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import {RAID_STATUS} from "../constants/RaidStatus";
import {NewPlanetListener} from "../grass_listeners/NewPlanetListener";
import {MAP_CONTAINER_IDS} from "../constants/MapConstants";
import {PLAYER_TYPES} from "../constants/PlayerTypes";
import {EVENTS} from "../constants/Events";

export class PlanetCardBuilder {

Expand Down Expand Up @@ -87,25 +86,37 @@ export class PlanetCardBuilder {
* @param {PlanetCardComponent} alphaBaseCard
*/
configureAlphaBaseCardCounterUpdateHandlers(alphaBaseCard) {
alphaBaseCard.undiscoveredOreUpdateHandler = () => {
alphaBaseCard.undiscoveredOreUpdateHandler = (event) => {
if (event.playerType !== PLAYER_TYPES.PLAYER) {
return;
}
const display = document.getElementById(`${alphaBaseCard.undiscoveredOreId}-value`);
if (display) {
display.innerHTML = this.gameState.planet.undiscovered_ore;
display.innerHTML = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planet.undiscovered_ore;
}
};
alphaBaseCard.alphaOreUpdateHandler = () => {
alphaBaseCard.alphaOreUpdateHandler = (event) => {
if (event.playerType !== PLAYER_TYPES.PLAYER) {
return;
}
const display = document.getElementById(`${alphaBaseCard.alphaOreId}-value`);
if (display) {
display.innerHTML = this.gameState.thisPlayer.ore;
display.innerHTML = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].player.ore;
}
};
alphaBaseCard.shieldHealthUpdateHandler = () => {
alphaBaseCard.shieldHealthUpdateHandler = (event) => {
if (event.playerType !== PLAYER_TYPES.PLAYER) {
return;
}
const display = document.getElementById(`${alphaBaseCard.shieldHealthId}-value`);
if (display) {
display.innerHTML = this.gameState.planetShieldHealth;
display.innerHTML = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planetShieldHealth;
}
};
alphaBaseCard.deployedStructsUpdateHandler = () => {
alphaBaseCard.deployedStructsUpdateHandler = (event) => {
if (event.playerType !== PLAYER_TYPES.PLAYER) {
return;
}
const display = document.getElementById(`${alphaBaseCard.deployedStructsId}-value`);
if (display) {
display.innerHTML = this.structManager.getStructCountByPlayerType(PLAYER_TYPES.PLAYER);
Expand All @@ -122,12 +133,12 @@ export class PlanetCardBuilder {
return;
}

alphaBaseCard.planetName = this.gameState.planet.name;
alphaBaseCard.planetName = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planet.name;

alphaBaseCard.hasStatusGroup = true;
alphaBaseCard.undiscoveredOre = this.gameState.planet.undiscovered_ore;
alphaBaseCard.alphaOre = this.gameState.thisPlayer.ore;
alphaBaseCard.shieldHealth = this.gameState.planetShieldHealth;
alphaBaseCard.undiscoveredOre = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planet.undiscovered_ore;
alphaBaseCard.alphaOre = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].player.ore;
alphaBaseCard.shieldHealth = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planetShieldHealth;
alphaBaseCard.deployedStructs = this.structManager.getStructCountByPlayerType(PLAYER_TYPES.PLAYER);

this.configureAlphaBaseCardCounterUpdateHandlers(alphaBaseCard);
Expand All @@ -144,12 +155,12 @@ export class PlanetCardBuilder {
return;
}

alphaBaseCard.planetName = this.gameState.planet.name;
alphaBaseCard.planetName = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planet.name;

alphaBaseCard.hasStatusGroup = true;
alphaBaseCard.undiscoveredOre = this.gameState.planet.undiscovered_ore;
alphaBaseCard.alphaOre = this.gameState.thisPlayer.ore;
alphaBaseCard.shieldHealth = this.gameState.planetShieldHealth;
alphaBaseCard.undiscoveredOre = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planet.undiscovered_ore;
alphaBaseCard.alphaOre = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].player.ore;
alphaBaseCard.shieldHealth = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planetShieldHealth;
alphaBaseCard.deployedStructs = this.structManager.getStructCountByPlayerType(PLAYER_TYPES.PLAYER);

this.configureAlphaBaseCardCounterUpdateHandlers(alphaBaseCard);
Expand Down Expand Up @@ -178,7 +189,7 @@ export class PlanetCardBuilder {
return;
}

alphaBaseCard.planetName = this.gameState.planet.name;
alphaBaseCard.planetName = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planet.name;

alphaBaseCard.hasAlert = true;
alphaBaseCard.alertMessage = 'Depart planet?';
Expand Down Expand Up @@ -217,11 +228,11 @@ export class PlanetCardBuilder {
return;
}

alphaBaseCard.planetName = this.gameState.planet.name;
alphaBaseCard.planetName = this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planet.name;

alphaBaseCard.hasGeneralMessage = true;
alphaBaseCard.generalMessageIconClass = 'icon-planet';
alphaBaseCard.generalMessage = `Fleet has arrived at ${this.gameState.planet.name}.`;
alphaBaseCard.generalMessage = `Fleet has arrived at ${this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planet.name}.`;

alphaBaseCard.hasPrimaryBtn = true;
alphaBaseCard.primaryBtnLabel = 'View';
Expand Down Expand Up @@ -279,11 +290,11 @@ export class PlanetCardBuilder {
return;
}

raidCard.planetName = this.gameState.getRaidEnemyUsername();
raidCard.planetName = this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].getUsername();

raidCard.hasGeneralMessage = true;
raidCard.generalMessageIconClass = 'icon-raid';
raidCard.generalMessage = `Fleet has begun raid on ${this.gameState.getRaidEnemyUsername()}.`;
raidCard.generalMessage = `Fleet has begun raid on ${this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].getUsername()}.`;

raidCard.hasPrimaryBtn = true;
raidCard.primaryBtnLabel = 'View';
Expand All @@ -307,38 +318,45 @@ export class PlanetCardBuilder {
return;
}

raidCard.planetName = this.gameState.getRaidEnemyUsername();
raidCard.planetName = this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].getUsername();

raidCard.hasStatusGroup = true;
raidCard.undiscoveredOre = this.gameState.raidPlanet.undiscovered_ore;
raidCard.alphaOre = this.gameState.raidEnemy.ore;
raidCard.shieldHealth = this.gameState.raidPlanetShieldHealth;
raidCard.undiscoveredOre = this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].planet.undiscovered_ore;
raidCard.alphaOre = this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].player.ore;
raidCard.shieldHealth = this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].planetShieldHealth;
raidCard.deployedStructs = this.structManager.getStructCountByPlayerType(PLAYER_TYPES.RAID_ENEMY);

raidCard.undiscoveredOreEvent = EVENTS.UNDISCOVERED_ORE_COUNT_CHANGED_RAID_PLANET;
raidCard.alphaOreEvent = EVENTS.ORE_COUNT_CHANGED_RAID_ENEMY;
raidCard.shieldHealthEvent = EVENTS.SHIELD_HEALTH_CHANGED_RAID_PLANET;
raidCard.deployedStructsEvent = EVENTS.STRUCT_COUNT_CHANGED_RAID_PLANET;

raidCard.undiscoveredOreUpdateHandler = () => {
raidCard.undiscoveredOreUpdateHandler = (event) => {
if (event.playerType !== PLAYER_TYPES.RAID_ENEMY) {
return;
}
const display = document.getElementById(`${raidCard.undiscoveredOreId}-value`);
if (display) {
display.innerHTML = this.gameState.raidPlanet.undiscovered_ore;
display.innerHTML = this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].planet.undiscovered_ore;
}
};
raidCard.alphaOreUpdateHandler = () => {
raidCard.alphaOreUpdateHandler = (event) => {
if (event.playerType !== PLAYER_TYPES.RAID_ENEMY) {
return;
}
const display = document.getElementById(`${raidCard.alphaOreId}-value`);
if (display) {
display.innerHTML = this.gameState.raidEnemy.ore;
display.innerHTML = this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].player.ore;
}
};
raidCard.shieldHealthUpdateHandler = () => {
raidCard.shieldHealthUpdateHandler = (event) => {
if (event.playerType !== PLAYER_TYPES.RAID_ENEMY) {
return;
}
const display = document.getElementById(`${raidCard.shieldHealthId}-value`);
if (display) {
display.innerHTML = this.gameState.raidPlanetShieldHealth;
display.innerHTML = this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].planetShieldHealth;
}
};
raidCard.deployedStructsUpdateHandler = () => {
raidCard.deployedStructsUpdateHandler = (event) => {
if (event.playerType !== PLAYER_TYPES.RAID_ENEMY) {
return;
}
const display = document.getElementById(`${raidCard.deployedStructsId}-value`);
if (display) {
display.innerHTML = this.structManager.getStructCountByPlayerType(PLAYER_TYPES.RAID_ENEMY);
Expand Down Expand Up @@ -367,7 +385,7 @@ export class PlanetCardBuilder {
return;
}

raidCard.planetName = this.gameState.getRaidEnemyUsername();
raidCard.planetName = this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].getUsername();

raidCard.hasAlert = true;
raidCard.alertMessage = 'Abandon raid?';
Expand All @@ -380,7 +398,7 @@ export class PlanetCardBuilder {
raidCard.primaryBtnLabel = 'Confirm';
raidCard.primaryBtnHandler = () => {
MenuPage.router.goto('Fleet', 'index', {raidCardType: PLANET_CARD_TYPES.RAID_LOADING})
this.fleetManager.moveFleet(this.gameState.planet.id).then();
this.fleetManager.moveFleet(this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planet.id).then();
}

raidCard.hasSecondaryBtn = true;
Expand Down Expand Up @@ -409,7 +427,7 @@ export class PlanetCardBuilder {

type = selectedType;

} else if (this.gameState.planet.undiscovered_ore === 0) {
} else if (this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].planet.undiscovered_ore === 0) {

type = PLANET_CARD_TYPES.ALPHA_BASE_COMPLETED;

Expand All @@ -436,20 +454,20 @@ export class PlanetCardBuilder {

type = selectedType;

} else if (this.gameState.raidPlanetRaidInfo.status === RAID_STATUS.REQUESTED) {
} else if (this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].planetRaidInfo.status === RAID_STATUS.REQUESTED) {

type = PLANET_CARD_TYPES.RAID_LOADING;

} else if (
selectedType === PLANET_CARD_TYPES.RAID_STARTED
&& this.gameState.raidPlanetRaidInfo.status === RAID_STATUS.INITIATED
&& this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].planetRaidInfo.status === RAID_STATUS.INITIATED
) {

type = PLANET_CARD_TYPES.RAID_STARTED;

} else if (
this.gameState.raidPlanetRaidInfo.status === RAID_STATUS.INITIATED
|| this.gameState.raidPlanetRaidInfo.status === RAID_STATUS.ONGOING
this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].planetRaidInfo.status === RAID_STATUS.INITIATED
|| this.gameState.keyPlayers[PLAYER_TYPES.RAID_ENEMY].planetRaidInfo.status === RAID_STATUS.ONGOING
) {

type = PLANET_CARD_TYPES.RAID_ACTIVE;
Expand Down
6 changes: 1 addition & 5 deletions src/js/constants/Events.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,17 @@ export const EVENTS = {
CLEAR_STRUCT_TILE: 'CLEAR_STRUCT_TILE',
ENERGY_USAGE_CHANGED: 'ENERGY_USAGE_CHANGED',
ORE_COUNT_CHANGED: 'ORE_COUNT_CHANGED',
ORE_COUNT_CHANGED_RAID_ENEMY: 'ORE_COUNT_CHANGED_RAID_ENEMY',
PENDING_BUILD_ADDED: 'PENDING_BUILD_ADDED',
PLANET_RAID_STATUS_CHANGED: 'PLANET_RAID_STATUS_CHANGED',
RAID_STATUS_CHANGED: 'RAID_STATUS_CHANGED',
REFRESH_ACTION_BAR: 'REFRESH_ACTION_BAR',
REFRESH_ACTION_BAR_IF_SELECTED: 'REFRESH_ACTION_BAR_IF_SELECTED',
RENDER_ALL_STRUCTS: 'RENDER_ALL_STRUCTS',
RENDER_DEPLOYMENT_INDICATOR: 'RENDER_DEPLOYMENT_INDICATOR',
RENDER_STRUCT: 'RENDER_STRUCT',
UPDATE_TILE_STRUCT_ID: 'UPDATE_TILE_STRUCT_ID',
SAVE_GAME_STATE: 'SAVE_GAME_STATE',
SHIELD_HEALTH_CHANGED: 'SHIELD_HEALTH_CHANGED',
SHIELD_HEALTH_CHANGED_RAID_PLANET: 'SHIELD_HEALTH_CHANGED_RAID_PLANET',
STRUCT_COUNT_CHANGED: 'STRUCT_COUNT_CHANGED',
STRUCT_COUNT_CHANGED_RAID_PLANET: 'STRUCT_COUNT_CHANGED_RAID_PLANET',
TASK_CMD_KILL: 'TASK_CMD_KILL',
TASK_CMD_MANAGER_PAUSE: 'TASK_CMD_MANAGER_PAUSE',
TASK_CMD_MANAGER_RESUME: 'TASK_CMD_MANAGER_RESUME',
Expand All @@ -33,5 +30,4 @@ export const EVENTS = {
TASK_MANAGER_STATUS_CHANGED: 'TASK_MANAGER_STATUS_CHANGED',
TASK_WORKER_CHANGED: 'TASK_WORKER_CHANGED',
UNDISCOVERED_ORE_COUNT_CHANGED: 'UNDISCOVERED_ORE_COUNT_CHANGED',
UNDISCOVERED_ORE_COUNT_CHANGED_RAID_PLANET: 'UNDISCOVERED_ORE_COUNT_CHANGED_RAID_PLANET',
};
3 changes: 2 additions & 1 deletion src/js/controllers/AccountController.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import {AccountRecipientSearchViewModel} from "../view_models/account/AccountRec
import {AccountRecipientSearchResults} from "../view_models/account/AccountRecipientSearchResults";
import {AccountRecipientViewModel} from "../view_models/account/AccountRecipientViewModel";
import {AccountConfirmTransfer} from "../view_models/account/AccountConfirmTransfer";
import {PLAYER_TYPES} from "../constants/PlayerTypes";

export class AccountController extends AbstractController {

Expand Down Expand Up @@ -55,7 +56,7 @@ export class AccountController extends AbstractController {
profile(options) {
const playerId = (options.hasOwnProperty('playerId') && options.playerId)
? options.playerId
: this.gameState.thisPlayerId;
: this.gameState.keyPlayers[PLAYER_TYPES.PLAYER].id;
const viewModel = new AccountProfileViewModel(
this.gameState,
this.guildAPI,
Expand Down
12 changes: 12 additions & 0 deletions src/js/events/AlphaCountChangedEvent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {EVENTS} from "../constants/Events";

export class AlphaCountChangedEvent extends CustomEvent {

/**
* @param {string} playerType
*/
constructor(playerType) {
super(EVENTS.ALPHA_COUNT_CHANGED);
this.playerType = playerType;
}
}
12 changes: 12 additions & 0 deletions src/js/events/EnergyUsageChangedEvent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {EVENTS} from "../constants/Events";

export class EnergyUsageChangedEvent extends CustomEvent {

/**
* @param {string} playerType
*/
constructor(playerType) {
super(EVENTS.ENERGY_USAGE_CHANGED);
this.playerType = playerType;
}
}
12 changes: 12 additions & 0 deletions src/js/events/OreCountChangedEvent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {EVENTS} from "../constants/Events";

export class OreCountChangedEvent extends CustomEvent {

/**
* @param {string} playerType
*/
constructor(playerType) {
super(EVENTS.ORE_COUNT_CHANGED);
this.playerType = playerType;
}
}
12 changes: 12 additions & 0 deletions src/js/events/PlanetRaidStatusChangedEvent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {EVENTS} from "../constants/Events";

export class PlanetRaidStatusChangedEvent extends CustomEvent {

/**
* @param {string} playerType
*/
constructor(playerType) {
super(EVENTS.PLANET_RAID_STATUS_CHANGED);
this.playerType = playerType;
}
}
7 changes: 7 additions & 0 deletions src/js/events/SaveGameStateEvent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import {EVENTS} from "../constants/Events";

export class SaveGameStateEvent extends CustomEvent {
constructor() {
super(EVENTS.SAVE_GAME_STATE);
}
}
12 changes: 12 additions & 0 deletions src/js/events/ShieldHealthChangedEvent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {EVENTS} from "../constants/Events";

export class ShieldHealthChangedEvent extends CustomEvent {

/**
* @param {string} playerType
*/
constructor(playerType) {
super(EVENTS.SHIELD_HEALTH_CHANGED);
this.playerType = playerType;
}
}
12 changes: 12 additions & 0 deletions src/js/events/StructCountChangedEvent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {EVENTS} from "../constants/Events";

export class StructCountChangedEvent extends CustomEvent {

/**
* @param {string} playerType
*/
constructor(playerType) {
super(EVENTS.STRUCT_COUNT_CHANGED);
this.playerType = playerType;
}
}
12 changes: 12 additions & 0 deletions src/js/events/UndiscoveredOreCountChangedEvent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {EVENTS} from "../constants/Events";

export class UndiscoveredOreCountChangedEvent extends CustomEvent {

/**
* @param {string} playerType
*/
constructor(playerType) {
super(EVENTS.UNDISCOVERED_ORE_COUNT_CHANGED);
this.playerType = playerType;
}
}
Loading