mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-24 20:19:49 +02:00
feat: provision filters
This commit is contained in:
1 parent
610ea60ca2
commit
532d677491
1 file changed
+16
-2
@@ -3,10 +3,12 @@ import { checkConsumableProvisionInclusivity } from "@blitzkit/core/src/blitzkit
|
|||||||
import { times } from "lodash-es";
|
import { times } from "lodash-es";
|
||||||
import { awaitableConsumableDefinitions } from "../../core/awaitables/consumableDefinitions";
|
import { awaitableConsumableDefinitions } from "../../core/awaitables/consumableDefinitions";
|
||||||
import type { TankFilters } from "../../stores/tankFilters";
|
import type { TankFilters } from "../../stores/tankFilters";
|
||||||
|
import { awaitableProvisionDefinitions } from "../awaitables/provisionDefinitions";
|
||||||
|
|
||||||
const SHELLS = times(3, (index) => index);
|
const SHELLS = times(3, (index) => index);
|
||||||
|
|
||||||
const consumableDefinitions = await awaitableConsumableDefinitions;
|
const consumableDefinitions = await awaitableConsumableDefinitions;
|
||||||
|
const provisionDefinitions = await awaitableProvisionDefinitions;
|
||||||
|
|
||||||
export async function filterTank(
|
export async function filterTank(
|
||||||
filters: TankFilters,
|
filters: TankFilters,
|
||||||
@@ -46,11 +48,23 @@ export async function filterTank(
|
|||||||
)
|
)
|
||||||
) &&
|
) &&
|
||||||
(filters.consumables.length === 0 ||
|
(filters.consumables.length === 0 ||
|
||||||
filters.consumables.every((consumableId) =>
|
filters.consumables.every((consumable) =>
|
||||||
tank.turrets.some((turret) =>
|
tank.turrets.some((turret) =>
|
||||||
turret.guns.some((gun) =>
|
turret.guns.some((gun) =>
|
||||||
checkConsumableProvisionInclusivity(
|
checkConsumableProvisionInclusivity(
|
||||||
consumableDefinitions.consumables[consumableId],
|
consumableDefinitions.consumables[consumable],
|
||||||
|
tank,
|
||||||
|
gun
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)) &&
|
||||||
|
(filters.provisions.length === 0 ||
|
||||||
|
filters.provisions.every((provision) =>
|
||||||
|
tank.turrets.some((turret) =>
|
||||||
|
turret.guns.some((gun) =>
|
||||||
|
checkConsumableProvisionInclusivity(
|
||||||
|
provisionDefinitions.provisions[provision],
|
||||||
tank,
|
tank,
|
||||||
gun
|
gun
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in new issue
Block a user