Rename state field storage
to warehouse
This commit is contained in:
parent
9531c7850a
commit
9bbe3ff78d
@ -29,33 +29,33 @@
|
|||||||
<td class="right">
|
<td class="right">
|
||||||
<filling
|
<filling
|
||||||
:value="villageState.resources.lumber"
|
:value="villageState.resources.lumber"
|
||||||
:warning="villageState.storage.optimumFullness.lumber"
|
:warning="villageState.warehouse.optimumFullness.lumber"
|
||||||
:critical="villageState.storage.criticalFullness.lumber"
|
:critical="villageState.warehouse.criticalFullness.lumber"
|
||||||
:full="villageState.storage.capacity.lumber"
|
:full="villageState.warehouse.capacity.lumber"
|
||||||
></filling>
|
></filling>
|
||||||
</td>
|
</td>
|
||||||
<td class="right">
|
<td class="right">
|
||||||
<filling
|
<filling
|
||||||
:value="villageState.resources.clay"
|
:value="villageState.resources.clay"
|
||||||
:warning="villageState.storage.optimumFullness.clay"
|
:warning="villageState.warehouse.optimumFullness.clay"
|
||||||
:critical="villageState.storage.criticalFullness.clay"
|
:critical="villageState.warehouse.criticalFullness.clay"
|
||||||
:full="villageState.storage.capacity.clay"
|
:full="villageState.warehouse.capacity.clay"
|
||||||
></filling>
|
></filling>
|
||||||
</td>
|
</td>
|
||||||
<td class="right">
|
<td class="right">
|
||||||
<filling
|
<filling
|
||||||
:value="villageState.resources.iron"
|
:value="villageState.resources.iron"
|
||||||
:warning="villageState.storage.optimumFullness.iron"
|
:warning="villageState.warehouse.optimumFullness.iron"
|
||||||
:critical="villageState.storage.criticalFullness.iron"
|
:critical="villageState.warehouse.criticalFullness.iron"
|
||||||
:full="villageState.storage.capacity.iron"
|
:full="villageState.warehouse.capacity.iron"
|
||||||
></filling>
|
></filling>
|
||||||
</td>
|
</td>
|
||||||
<td class="right">
|
<td class="right">
|
||||||
<filling
|
<filling
|
||||||
:value="villageState.resources.crop"
|
:value="villageState.resources.crop"
|
||||||
:warning="villageState.storage.optimumFullness.crop"
|
:warning="villageState.warehouse.optimumFullness.crop"
|
||||||
:critical="villageState.storage.criticalFullness.crop"
|
:critical="villageState.warehouse.criticalFullness.crop"
|
||||||
:full="villageState.storage.capacity.crop"
|
:full="villageState.warehouse.capacity.crop"
|
||||||
></filling>
|
></filling>
|
||||||
</td>
|
</td>
|
||||||
<td class="right" v-text="storageTime(villageState)"></td>
|
<td class="right" v-text="storageTime(villageState)"></td>
|
||||||
@ -140,8 +140,8 @@ export default {
|
|||||||
return path(name, args);
|
return path(name, args);
|
||||||
},
|
},
|
||||||
storageTime(villageState) {
|
storageTime(villageState) {
|
||||||
const toZero = villageState.storage.timeToZero;
|
const toZero = villageState.warehouse.timeToZero;
|
||||||
const toFull = villageState.storage.timeToFull;
|
const toFull = villageState.warehouse.timeToFull;
|
||||||
return this.renderGatheringTime(toFull.never ? toZero : toFull);
|
return this.renderGatheringTime(toFull.never ? toZero : toFull);
|
||||||
},
|
},
|
||||||
renderTimeInSeconds(value) {
|
renderTimeInSeconds(value) {
|
||||||
|
@ -24,7 +24,7 @@ export class BalanceHeroResourcesAction extends BaseAction {
|
|||||||
const requirements = [
|
const requirements = [
|
||||||
thisVillageState.required.balance,
|
thisVillageState.required.balance,
|
||||||
thisVillageState.commitments,
|
thisVillageState.commitments,
|
||||||
thisVillageState.resources.sub(thisVillageState.storage.capacity),
|
thisVillageState.resources.sub(thisVillageState.warehouse.capacity),
|
||||||
];
|
];
|
||||||
|
|
||||||
console.log('Requirements');
|
console.log('Requirements');
|
||||||
|
@ -68,7 +68,7 @@ export class ResourceTransferCalculator {
|
|||||||
resources: readyToTransfer,
|
resources: readyToTransfer,
|
||||||
score: {
|
score: {
|
||||||
amount: readyToTransfer.amount(),
|
amount: readyToTransfer.amount(),
|
||||||
overflow: sender.getState().storage.isOverflowing,
|
overflow: sender.getState().warehouse.isOverflowing,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -77,7 +77,7 @@ export class ResourceTransferCalculator {
|
|||||||
sender: VillageController,
|
sender: VillageController,
|
||||||
recipient: VillageController
|
recipient: VillageController
|
||||||
): [Resources, Resources] {
|
): [Resources, Resources] {
|
||||||
if (sender.getState().storage.isOverflowing) {
|
if (sender.getState().warehouse.isOverflowing) {
|
||||||
return [sender.getOverflowResources(), recipient.getAvailableToReceiveResources()];
|
return [sender.getOverflowResources(), recipient.getAvailableToReceiveResources()];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ export class VillageController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getOverflowResources(): Resources {
|
getOverflowResources(): Resources {
|
||||||
const limit = this.state.storage.optimumFullness;
|
const limit = this.state.warehouse.optimumFullness;
|
||||||
const currentResources = this.state.resources;
|
const currentResources = this.state.resources;
|
||||||
|
|
||||||
return currentResources.sub(limit).max(Resources.zero());
|
return currentResources.sub(limit).max(Resources.zero());
|
||||||
@ -80,7 +80,7 @@ export class VillageController {
|
|||||||
getFreeResources(): Resources {
|
getFreeResources(): Resources {
|
||||||
const mode = this.state.settings.receiveResourcesMode;
|
const mode = this.state.settings.receiveResourcesMode;
|
||||||
const requirementResources = this.state.required.resources;
|
const requirementResources = this.state.required.resources;
|
||||||
const optimumToStoreResources = this.state.storage.optimumFullness;
|
const optimumToStoreResources = this.state.warehouse.optimumFullness;
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case ReceiveResourcesMode.Required:
|
case ReceiveResourcesMode.Required:
|
||||||
@ -106,7 +106,7 @@ export class VillageController {
|
|||||||
|
|
||||||
getRequiredResources(): Resources {
|
getRequiredResources(): Resources {
|
||||||
const mode = this.state.settings.receiveResourcesMode;
|
const mode = this.state.settings.receiveResourcesMode;
|
||||||
const optimumToStoreResources = this.state.storage.optimumFullness;
|
const optimumToStoreResources = this.state.warehouse.optimumFullness;
|
||||||
const requirementResources = this.state.required.resources;
|
const requirementResources = this.state.required.resources;
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
@ -118,7 +118,7 @@ export class VillageController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private calcRequiredResources(targetResources: Resources): Resources {
|
private calcRequiredResources(targetResources: Resources): Resources {
|
||||||
const optimumToStoreResources = this.state.storage.optimumFullness;
|
const optimumToStoreResources = this.state.warehouse.optimumFullness;
|
||||||
const currentResources = this.state.resources;
|
const currentResources = this.state.resources;
|
||||||
const incomingResources = this.state.incomingResources;
|
const incomingResources = this.state.incomingResources;
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ export class VillageController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getAvailableToReceiveResources(): Resources {
|
getAvailableToReceiveResources(): Resources {
|
||||||
const optimumToStoreResources = this.state.storage.optimumFullness;
|
const optimumToStoreResources = this.state.warehouse.optimumFullness;
|
||||||
const currentResources = this.state.resources;
|
const currentResources = this.state.resources;
|
||||||
|
|
||||||
return optimumToStoreResources.sub(currentResources).max(Resources.zero());
|
return optimumToStoreResources.sub(currentResources).max(Resources.zero());
|
||||||
@ -229,7 +229,7 @@ export class VillageController {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check, if storage is building now
|
// Check, if warehouse is building now
|
||||||
const underConstruction = storageSlots.find((s) => s.isUnderConstruction);
|
const underConstruction = storageSlots.find((s) => s.isUnderConstruction);
|
||||||
if (underConstruction !== undefined) {
|
if (underConstruction !== undefined) {
|
||||||
return;
|
return;
|
||||||
@ -237,7 +237,7 @@ export class VillageController {
|
|||||||
|
|
||||||
const tasks = this.state.tasks;
|
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);
|
const storageBuildIds = storageSlots.map((s) => s.buildId);
|
||||||
for (let buildId of storageBuildIds) {
|
for (let buildId of storageBuildIds) {
|
||||||
const upgradeTask = tasks.find(
|
const upgradeTask = tasks.find(
|
||||||
|
@ -87,7 +87,7 @@ interface VillageOwnState {
|
|||||||
*/
|
*/
|
||||||
resources: Resources;
|
resources: Resources;
|
||||||
performance: Resources;
|
performance: Resources;
|
||||||
storage: VillageWarehouseState;
|
warehouse: VillageWarehouseState;
|
||||||
queues: Array<VillageProductionQueueState>;
|
queues: Array<VillageProductionQueueState>;
|
||||||
tasks: Array<TaskState>;
|
tasks: Array<TaskState>;
|
||||||
firstReadyTask: TaskState | undefined;
|
firstReadyTask: TaskState | undefined;
|
||||||
@ -295,7 +295,7 @@ function createVillageOwnState(
|
|||||||
village,
|
village,
|
||||||
resources,
|
resources,
|
||||||
performance,
|
performance,
|
||||||
storage: storageState,
|
warehouse: storageState,
|
||||||
required: makeResourceState(requiredResources, resources, performance),
|
required: makeResourceState(requiredResources, resources, performance),
|
||||||
tasks,
|
tasks,
|
||||||
queues,
|
queues,
|
||||||
@ -322,20 +322,21 @@ function createVillageOwnStates(
|
|||||||
}
|
}
|
||||||
|
|
||||||
function createVillageState(
|
function createVillageState(
|
||||||
state: VillageOwnState,
|
ownState: VillageOwnState,
|
||||||
ownStates: VillageOwnStateDictionary
|
otherOwnStates: VillageOwnStateDictionary
|
||||||
): VillageState {
|
): VillageState {
|
||||||
const villageIds = Object.keys(ownStates).map((k) => +k);
|
const otherVillageIds = Object.keys(otherOwnStates).map((key) => +key);
|
||||||
const commitments = villageIds.reduce((memo, shipmentVillageId) => {
|
const reducer = (memo: Resources, shipmentVillageId: number) => {
|
||||||
const shipmentVillageState = ownStates[shipmentVillageId];
|
const shipmentVillageState = otherOwnStates[shipmentVillageId];
|
||||||
const shipmentVillageRequired = shipmentVillageState.required;
|
const shipmentVillageRequired = shipmentVillageState.required;
|
||||||
const shipmentVillageIncoming = shipmentVillageState.incomingResources;
|
const shipmentVillageIncoming = shipmentVillageState.incomingResources;
|
||||||
const targetVillageMissing = shipmentVillageRequired.balance
|
const targetVillageMissing = shipmentVillageRequired.balance
|
||||||
.add(shipmentVillageIncoming)
|
.add(shipmentVillageIncoming)
|
||||||
.min(Resources.zero());
|
.min(Resources.zero());
|
||||||
return memo.add(targetVillageMissing);
|
return memo.add(targetVillageMissing);
|
||||||
}, Resources.zero());
|
};
|
||||||
return { ...state, commitments };
|
const commitments = otherVillageIds.reduce(reducer, Resources.zero());
|
||||||
|
return { ...ownState, commitments };
|
||||||
}
|
}
|
||||||
|
|
||||||
function getVillageStates(
|
function getVillageStates(
|
||||||
|
Loading…
Reference in New Issue
Block a user