bitburner-src/src/DevMenu.tsx

82 lines
3.3 KiB
TypeScript
Raw Normal View History

2021-09-10 22:57:05 +02:00
import { AugmentationNames } from "./Augmentation/data/AugmentationNames";
import { CodingContractTypes } from "./CodingContracts";
import { generateContract, generateRandomContract, generateRandomContractOnHome } from "./CodingContractGenerator";
import { IPlayer } from "./PersonObjects/IPlayer";
import { Bladeburner } from "./Bladeburner/Bladeburner";
import { IEngine } from "./IEngine";
import { saveObject } from "./SaveObject";
import { dialogBoxCreate } from "../utils/DialogBox";
import { Money } from "./ui/React/Money";
2021-09-13 18:44:46 +02:00
import { TextField } from "./ui/React/TextField";
import { Button } from "./ui/React/Button";
import { Select } from "./ui/React/Select";
2021-09-10 22:57:05 +02:00
import React, { useState } from "react";
2021-09-13 18:44:46 +02:00
import AddIcon from "@material-ui/icons/Add";
import RemoveIcon from "@material-ui/icons/Remove";
import IconButton from "@material-ui/core/IconButton";
2021-09-13 20:43:23 +02:00
import ExposureZeroIcon from "@material-ui/icons/ExposureZero";
import ButtonGroup from "@material-ui/core/ButtonGroup";
2021-09-13 23:11:02 +02:00
import DoubleArrowIcon from "@material-ui/icons/DoubleArrow";
import ReplyAllIcon from "@material-ui/icons/ReplyAll";
import ReplyIcon from "@material-ui/icons/Reply";
2021-09-14 02:37:35 +02:00
import ExpandMoreIcon from "@material-ui/icons/ExpandMore";
import MenuItem from "@material-ui/core/MenuItem";
import FormControl from "@material-ui/core/FormControl";
import InputLabel from "@material-ui/core/InputLabel";
2021-09-13 18:44:46 +02:00
import { Theme } from "./ui/React/Theme";
2021-09-10 22:57:05 +02:00
2021-09-14 02:37:35 +02:00
import { General } from "./DevMenu/ui/General";
import { Stats } from "./DevMenu/ui/Stats";
import { Factions } from "./DevMenu/ui/Factions";
import { Augmentations } from "./DevMenu/ui/Augmentations";
import { SourceFiles } from "./DevMenu/ui/SourceFiles";
import { Programs } from "./DevMenu/ui/Programs";
import { Servers } from "./DevMenu/ui/Servers";
import { Companies } from "./DevMenu/ui/Companies";
import { Bladeburner as BladeburnerElem } from "./DevMenu/ui/Bladeburner";
import { Gang } from "./DevMenu/ui/Gang";
import { Corporation } from "./DevMenu/ui/Corporation";
import { CodingContracts } from "./DevMenu/ui/CodingContracts";
import { StockMarket } from "./DevMenu/ui/StockMarket";
import { Sleeves } from "./DevMenu/ui/Sleeves";
import { TimeSkip } from "./DevMenu/ui/TimeSkip";
2021-09-10 22:57:05 +02:00
interface IProps {
player: IPlayer;
engine: IEngine;
}
export function DevMenuRoot(props: IProps): React.ReactElement {
return (
2021-09-13 18:44:46 +02:00
<Theme>
2021-09-14 02:37:35 +02:00
<>
<h1>Development Menu - Only meant to be used for testing/debugging</h1>
<General player={props.player} />
<Stats player={props.player} />
<Factions player={props.player} />
<Augmentations player={props.player} />
<SourceFiles player={props.player} />
<Programs player={props.player} />
<Servers player={props.player} />
<Companies player={props.player} />
2021-09-13 18:44:46 +02:00
2021-09-14 02:37:35 +02:00
{props.player.bladeburner instanceof Bladeburner && <BladeburnerElem player={props.player} />}
2021-09-13 18:44:46 +02:00
2021-09-14 02:37:35 +02:00
{props.player.inGang() && <Gang player={props.player} />}
2021-09-13 18:44:46 +02:00
2021-09-14 02:37:35 +02:00
{props.player.hasCorporation() && <Corporation player={props.player} />}
2021-09-13 18:44:46 +02:00
2021-09-14 02:37:35 +02:00
<CodingContracts player={props.player} />
2021-09-10 22:57:05 +02:00
2021-09-14 02:37:35 +02:00
{props.player.hasWseAccount && <StockMarket player={props.player} />}
2021-09-13 18:44:46 +02:00
2021-09-14 02:37:35 +02:00
{props.player.sleeves.length > 0 && <Sleeves player={props.player} />}
2021-09-13 18:44:46 +02:00
2021-09-14 02:37:35 +02:00
<TimeSkip player={props.player} engine={props.engine} />
</>
2021-09-13 18:44:46 +02:00
</Theme>
2021-09-10 22:57:05 +02:00
);
}