Rename state field storage to warehouse

This commit is contained in:
Anton Vakhrushev 2020-10-10 12:16:41 +03:00
parent 9531c7850a
commit 9bbe3ff78d
5 changed files with 34 additions and 33 deletions

View File

@ -29,33 +29,33 @@
<td class="right">
<filling
:value="villageState.resources.lumber"
:warning="villageState.storage.optimumFullness.lumber"
:critical="villageState.storage.criticalFullness.lumber"
:full="villageState.storage.capacity.lumber"
:warning="villageState.warehouse.optimumFullness.lumber"
:critical="villageState.warehouse.criticalFullness.lumber"
:full="villageState.warehouse.capacity.lumber"
></filling>
</td>
<td class="right">
<filling
:value="villageState.resources.clay"
:warning="villageState.storage.optimumFullness.clay"
:critical="villageState.storage.criticalFullness.clay"
:full="villageState.storage.capacity.clay"
:warning="villageState.warehouse.optimumFullness.clay"
:critical="villageState.warehouse.criticalFullness.clay"
:full="villageState.warehouse.capacity.clay"
></filling>
</td>
<td class="right">
<filling
:value="villageState.resources.iron"
:warning="villageState.storage.optimumFullness.iron"
:critical="villageState.storage.criticalFullness.iron"
:full="villageState.storage.capacity.iron"
:warning="villageState.warehouse.optimumFullness.iron"
:critical="villageState.warehouse.criticalFullness.iron"
:full="villageState.warehouse.capacity.iron"
></filling>
</td>
<td class="right">
<filling
:value="villageState.resources.crop"
:warning="villageState.storage.optimumFullness.crop"
:critical="villageState.storage.criticalFullness.crop"
:full="villageState.storage.capacity.crop"
:warning="villageState.warehouse.optimumFullness.crop"
:critical="villageState.warehouse.criticalFullness.crop"
:full="villageState.warehouse.capacity.crop"
></filling>
</td>
<td class="right" v-text="storageTime(villageState)"></td>
@ -140,8 +140,8 @@ export default {
return path(name, args);
},
storageTime(villageState) {
const toZero = villageState.storage.timeToZero;
const toFull = villageState.storage.timeToFull;
const toZero = villageState.warehouse.timeToZero;
const toFull = villageState.warehouse.timeToFull;
return this.renderGatheringTime(toFull.never ? toZero : toFull);
},
renderTimeInSeconds(value) {

View File

@ -24,7 +24,7 @@ export class BalanceHeroResourcesAction extends BaseAction {
const requirements = [
thisVillageState.required.balance,
thisVillageState.commitments,
thisVillageState.resources.sub(thisVillageState.storage.capacity),
thisVillageState.resources.sub(thisVillageState.warehouse.capacity),
];
console.log('Requirements');

View File

@ -68,7 +68,7 @@ export class ResourceTransferCalculator {
resources: readyToTransfer,
score: {
amount: readyToTransfer.amount(),
overflow: sender.getState().storage.isOverflowing,
overflow: sender.getState().warehouse.isOverflowing,
},
};
}
@ -77,7 +77,7 @@ export class ResourceTransferCalculator {
sender: VillageController,
recipient: VillageController
): [Resources, Resources] {
if (sender.getState().storage.isOverflowing) {
if (sender.getState().warehouse.isOverflowing) {
return [sender.getOverflowResources(), recipient.getAvailableToReceiveResources()];
}

View File

@ -71,7 +71,7 @@ export class VillageController {
}
getOverflowResources(): Resources {
const limit = this.state.storage.optimumFullness;
const limit = this.state.warehouse.optimumFullness;
const currentResources = this.state.resources;
return currentResources.sub(limit).max(Resources.zero());
@ -80,7 +80,7 @@ export class VillageController {
getFreeResources(): Resources {
const mode = this.state.settings.receiveResourcesMode;
const requirementResources = this.state.required.resources;
const optimumToStoreResources = this.state.storage.optimumFullness;
const optimumToStoreResources = this.state.warehouse.optimumFullness;
switch (mode) {
case ReceiveResourcesMode.Required:
@ -106,7 +106,7 @@ export class VillageController {
getRequiredResources(): Resources {
const mode = this.state.settings.receiveResourcesMode;
const optimumToStoreResources = this.state.storage.optimumFullness;
const optimumToStoreResources = this.state.warehouse.optimumFullness;
const requirementResources = this.state.required.resources;
switch (mode) {
@ -118,7 +118,7 @@ export class VillageController {
}
private calcRequiredResources(targetResources: Resources): Resources {
const optimumToStoreResources = this.state.storage.optimumFullness;
const optimumToStoreResources = this.state.warehouse.optimumFullness;
const currentResources = this.state.resources;
const incomingResources = this.state.incomingResources;
@ -130,7 +130,7 @@ export class VillageController {
}
getAvailableToReceiveResources(): Resources {
const optimumToStoreResources = this.state.storage.optimumFullness;
const optimumToStoreResources = this.state.warehouse.optimumFullness;
const currentResources = this.state.resources;
return optimumToStoreResources.sub(currentResources).max(Resources.zero());
@ -229,7 +229,7 @@ export class VillageController {
return;
}
// Check, if storage is building now
// Check, if warehouse is building now
const underConstruction = storageSlots.find((s) => s.isUnderConstruction);
if (underConstruction !== undefined) {
return;
@ -237,7 +237,7 @@ export class VillageController {
const tasks = this.state.tasks;
// Check, if we have storage is in building queue
// Check, if we have warehouse is in building queue
const storageBuildIds = storageSlots.map((s) => s.buildId);
for (let buildId of storageBuildIds) {
const upgradeTask = tasks.find(

View File

@ -87,7 +87,7 @@ interface VillageOwnState {
*/
resources: Resources;
performance: Resources;
storage: VillageWarehouseState;
warehouse: VillageWarehouseState;
queues: Array<VillageProductionQueueState>;
tasks: Array<TaskState>;
firstReadyTask: TaskState | undefined;
@ -295,7 +295,7 @@ function createVillageOwnState(
village,
resources,
performance,
storage: storageState,
warehouse: storageState,
required: makeResourceState(requiredResources, resources, performance),
tasks,
queues,
@ -322,20 +322,21 @@ function createVillageOwnStates(
}
function createVillageState(
state: VillageOwnState,
ownStates: VillageOwnStateDictionary
ownState: VillageOwnState,
otherOwnStates: VillageOwnStateDictionary
): VillageState {
const villageIds = Object.keys(ownStates).map((k) => +k);
const commitments = villageIds.reduce((memo, shipmentVillageId) => {
const shipmentVillageState = ownStates[shipmentVillageId];
const otherVillageIds = Object.keys(otherOwnStates).map((key) => +key);
const reducer = (memo: Resources, shipmentVillageId: number) => {
const shipmentVillageState = otherOwnStates[shipmentVillageId];
const shipmentVillageRequired = shipmentVillageState.required;
const shipmentVillageIncoming = shipmentVillageState.incomingResources;
const targetVillageMissing = shipmentVillageRequired.balance
.add(shipmentVillageIncoming)
.min(Resources.zero());
return memo.add(targetVillageMissing);
}, Resources.zero());
return { ...state, commitments };
};
const commitments = otherVillageIds.reduce(reducer, Resources.zero());
return { ...ownState, commitments };
}
function getVillageStates(