2021-08-19 07:45:26 +02:00
|
|
|
import React from "react";
|
2021-06-18 22:22:12 +02:00
|
|
|
import { BlackOperations } from "../BlackOperations";
|
|
|
|
import { BlackOperation } from "../BlackOperation";
|
|
|
|
import { BlackOpElem } from "./BlackOpElem";
|
2021-08-16 04:35:43 +02:00
|
|
|
import { IBladeburner } from "../IBladeburner";
|
2021-06-18 22:22:12 +02:00
|
|
|
|
|
|
|
interface IProps {
|
2021-09-05 01:09:30 +02:00
|
|
|
bladeburner: IBladeburner;
|
2021-06-18 22:22:12 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export function BlackOpList(props: IProps): React.ReactElement {
|
2021-09-05 01:09:30 +02:00
|
|
|
let blackops: BlackOperation[] = [];
|
2022-01-16 01:45:03 +01:00
|
|
|
for (const blackopName of Object.keys(BlackOperations)) {
|
2021-09-05 01:09:30 +02:00
|
|
|
if (BlackOperations.hasOwnProperty(blackopName)) {
|
|
|
|
blackops.push(BlackOperations[blackopName]);
|
2021-06-18 22:22:12 +02:00
|
|
|
}
|
2021-09-05 01:09:30 +02:00
|
|
|
}
|
|
|
|
blackops.sort(function (a, b) {
|
|
|
|
return a.reqdRank - b.reqdRank;
|
|
|
|
});
|
2021-06-18 22:22:12 +02:00
|
|
|
|
2021-09-05 01:09:30 +02:00
|
|
|
blackops = blackops.filter(
|
2021-09-22 18:56:55 +02:00
|
|
|
(blackop: BlackOperation, i: number) =>
|
|
|
|
!(
|
2021-09-05 01:09:30 +02:00
|
|
|
props.bladeburner.blackops[blackops[i].name] == null &&
|
|
|
|
i !== 0 &&
|
|
|
|
props.bladeburner.blackops[blackops[i - 1].name] == null
|
|
|
|
),
|
|
|
|
);
|
2021-06-18 22:22:12 +02:00
|
|
|
|
2021-09-05 01:09:30 +02:00
|
|
|
blackops = blackops.reverse();
|
2021-06-18 22:22:12 +02:00
|
|
|
|
2021-09-05 01:09:30 +02:00
|
|
|
return (
|
|
|
|
<>
|
|
|
|
{blackops.map((blackop: BlackOperation) => (
|
2022-09-06 15:07:12 +02:00
|
|
|
<BlackOpElem key={blackop.name} bladeburner={props.bladeburner} action={blackop} />
|
2021-09-05 01:09:30 +02:00
|
|
|
))}
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
}
|