import React, { useEffect, useState } from "react"; import Accordion from "@mui/material/Accordion"; import AccordionSummary from "@mui/material/AccordionSummary"; import AccordionDetails from "@mui/material/AccordionDetails"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import Typography from "@mui/material/Typography"; import Button from "@mui/material/Button"; import { Money } from "../../ui/React/Money"; import { IPlayer } from "../../PersonObjects/IPlayer"; import { IRouter } from "../../ui/Router"; import { MenuItem, SelectChangeEvent, TextField, Select } from "@mui/material"; import { Bladeburner } from "../../Bladeburner/Bladeburner"; import { GangConstants } from "../../Gang/data/Constants"; import { FactionNames } from "../../Faction/data/FactionNames"; import { checkForMessagesToSend } from "../../Message/MessageHelpers"; interface IProps { player: IPlayer; router: IRouter; } export function General(props: IProps): React.ReactElement { const [error, setError] = useState(false); const [corporationName, setCorporationName] = useState(""); const [gangFaction, setGangFaction] = useState(""); function addMoney(n: number) { return function () { props.player.gainMoney(n, "other"); }; } function upgradeRam(): void { props.player.getHomeComputer().maxRam *= 2; } function quickB1tFlum3(): void { props.router.toBitVerse(true, true); } function b1tflum3(): void { props.router.toBitVerse(true, false); } function quickHackW0r1dD43m0n(): void { props.router.toBitVerse(false, true); } function hackW0r1dD43m0n(): void { props.router.toBitVerse(false, false); } function createCorporation(): void { props.player.startCorporation(corporationName); } function joinBladeburner(): void { props.player.bladeburner = new Bladeburner(props.player); } function startGang(): void { const isHacking = gangFaction === FactionNames.NiteSec || gangFaction === FactionNames.TheBlackHand; props.player.startGang(gangFaction, isHacking); } function setGangFactionDropdown(event: SelectChangeEvent): void { setGangFaction(event.target.value); } function checkMessages(): void { checkForMessagesToSend(); } useEffect(() => { if (error) throw new ReferenceError("Manually thrown error"); }, [error]); return ( }> General
Corporation Name: setCorporationName(x.target.value)} />
Gang Faction:

); }