mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-11 00:33:03 +00:00
Tidy-ups for build changes
This commit is contained in:
@@ -126,7 +126,7 @@ export default class OutfittingSubpages extends TranslatedComponent {
|
|||||||
const { ship, sys, eng, wep, cargo, fuel, boost, engagementRange, opponent, opponentBuild } = this.props;
|
const { ship, sys, eng, wep, cargo, fuel, boost, engagementRange, opponent, opponentBuild } = this.props;
|
||||||
Persist.setOutfittingTab('offence');
|
Persist.setOutfittingTab('offence');
|
||||||
|
|
||||||
const marker = `${ship.toString()}:${opponent.name}:${opponentBuild}:${engagementRange}`;
|
const marker = `${ship.toString()}:${opponent.toString()}:${opponentBuild}:${engagementRange}`;
|
||||||
|
|
||||||
return <div>
|
return <div>
|
||||||
<Offence marker={marker} ship={ship} opponent={opponent} wep={wep} engagementrange={engagementRange}/>
|
<Offence marker={marker} ship={ship} opponent={opponent} wep={wep} engagementrange={engagementRange}/>
|
||||||
@@ -141,7 +141,7 @@ export default class OutfittingSubpages extends TranslatedComponent {
|
|||||||
const { ship, sys, eng, wep, cargo, fuel, boost, engagementRange, opponent, opponentBuild } = this.props;
|
const { ship, sys, eng, wep, cargo, fuel, boost, engagementRange, opponent, opponentBuild } = this.props;
|
||||||
Persist.setOutfittingTab('defence');
|
Persist.setOutfittingTab('defence');
|
||||||
|
|
||||||
const marker = `${ship.toString()}:${opponent.name}:${opponentBuild}:${engagementRange}`;
|
const marker = `${ship.toString()}:${opponent.toString()}:${opponentBuild}:${engagementRange}`;
|
||||||
|
|
||||||
return <div>
|
return <div>
|
||||||
<Defence marker={marker} ship={ship} opponent={opponent} sys={sys} engagementrange={engagementRange}/>
|
<Defence marker={marker} ship={ship} opponent={opponent} sys={sys} engagementrange={engagementRange}/>
|
||||||
|
|||||||
@@ -57,7 +57,6 @@ export default class ShipPicker extends TranslatedComponent {
|
|||||||
_renderPickerMenu() {
|
_renderPickerMenu() {
|
||||||
const { ship, build } = this.props;
|
const { ship, build } = this.props;
|
||||||
const _shipChange = this._shipChange;
|
const _shipChange = this._shipChange;
|
||||||
|
|
||||||
const builds = Persist.getBuilds();
|
const builds = Persist.getBuilds();
|
||||||
const buildList = [];
|
const buildList = [];
|
||||||
for (let shipId of this.shipOrder) {
|
for (let shipId of this.shipOrder) {
|
||||||
@@ -68,7 +67,7 @@ export default class ShipPicker extends TranslatedComponent {
|
|||||||
if (builds[shipId]) {
|
if (builds[shipId]) {
|
||||||
let buildNameOrder = Object.keys(builds[shipId]).sort();
|
let buildNameOrder = Object.keys(builds[shipId]).sort();
|
||||||
for (let buildName of buildNameOrder) {
|
for (let buildName of buildNameOrder) {
|
||||||
const buildSelected = ship.id == shipId && build == buildName;
|
const buildSelected = ship === shipId && build === buildName;
|
||||||
shipBuilds.push(<li key={shipId + '-' + buildName} className={ cn({ 'selected': buildSelected })} onClick={_shipChange.bind(this, shipId, buildName)}>{buildName}</li>);
|
shipBuilds.push(<li key={shipId + '-' + buildName} className={ cn({ 'selected': buildSelected })} onClick={_shipChange.bind(this, shipId, buildName)}>{buildName}</li>);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -279,15 +279,19 @@ export default class OutfittingPage extends Page {
|
|||||||
_saveBuild() {
|
_saveBuild() {
|
||||||
const { code, buildName, newBuildName, shipId } = this.state;
|
const { code, buildName, newBuildName, shipId } = this.state;
|
||||||
|
|
||||||
if (buildName === newBuildName) {
|
Persist.saveBuild(shipId, newBuildName, code);
|
||||||
Persist.saveBuild(shipId, buildName, code);
|
this._updateRoute(shipId, newBuildName, code);
|
||||||
this._updateRoute(shipId, buildName, code);
|
|
||||||
} else {
|
|
||||||
Persist.saveBuild(shipId, newBuildName, code);
|
|
||||||
this._updateRoute(shipId, newBuildName, code);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setState({ buildName: newBuildName, code, savedCode: code, title: this._getTitle(newBuildName) });
|
let opponent, opponentBuild;
|
||||||
|
if (shipId === this.state.opponent.id && buildName === this.state.opponentBuild) {
|
||||||
|
// This is a save of our current opponent build; update it
|
||||||
|
opponentBuild = newBuildName;
|
||||||
|
opponent = new Ship(shipId, Ships[shipId].properties, Ships[shipId].slots).buildFrom(code);
|
||||||
|
} else {
|
||||||
|
opponentBuild = this.state.opponentBuild;
|
||||||
|
opponent = this.state.opponent;
|
||||||
|
}
|
||||||
|
this.setState({ buildName: newBuildName, code, savedCode: code, opponent, opponentBuild, title: this._getTitle(newBuildName) });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -299,7 +303,7 @@ export default class OutfittingPage extends Page {
|
|||||||
Persist.deleteBuild(shipId, buildName);
|
Persist.deleteBuild(shipId, buildName);
|
||||||
Persist.saveBuild(shipId, newBuildName, code);
|
Persist.saveBuild(shipId, newBuildName, code);
|
||||||
this._updateRoute(shipId, newBuildName, code);
|
this._updateRoute(shipId, newBuildName, code);
|
||||||
this.setState({ buildName: newBuildName, code, savedCode: code });
|
this.setState({ buildName: newBuildName, code, savedCode: code, opponentBuild: newBuildName });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -338,8 +342,19 @@ export default class OutfittingPage extends Page {
|
|||||||
* Delete the build
|
* Delete the build
|
||||||
*/
|
*/
|
||||||
_deleteBuild() {
|
_deleteBuild() {
|
||||||
Persist.deleteBuild(this.state.shipId, this.state.buildName);
|
const { shipId, buildName } = this.state;
|
||||||
|
Persist.deleteBuild(shipId, buildName);
|
||||||
|
|
||||||
|
let opponentBuild;
|
||||||
|
if (shipId === this.state.opponent.id && buildName === this.state.opponentBuild) {
|
||||||
|
// Our current opponent has been deleted; revert to stock
|
||||||
|
opponentBuild = null;
|
||||||
|
} else {
|
||||||
|
opponentBuild = this.state.opponentBuild;
|
||||||
|
}
|
||||||
Router.go(outfitURL(this.state.shipId));
|
Router.go(outfitURL(this.state.shipId));
|
||||||
|
|
||||||
|
this.setState({ opponentBuild });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user