import React, { 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 Select, { SelectChangeEvent } from "@mui/material/Select"; import { Companies as AllCompanies } from "../../Company/Companies"; import MenuItem from "@mui/material/MenuItem"; import { Adjuster } from "./Adjuster"; import { FactionNames } from "../../Faction/data/FactionNames"; const bigNumber = 1e12; export function Companies(): React.ReactElement { const [company, setCompany] = useState(FactionNames.ECorp as string); function setCompanyDropdown(event: SelectChangeEvent): void { setCompany(event.target.value); } function resetCompanyRep(): void { AllCompanies[company].playerReputation = 0; } function modifyCompanyRep(modifier: number): (x: number) => void { return function (reputation: number): void { const c = AllCompanies[company]; if (c != null && !isNaN(reputation)) { c.playerReputation += reputation * modifier; } }; } function modifyCompanyFavor(modifier: number): (x: number) => void { return function (favor: number): void { const c = AllCompanies[company]; if (c != null && !isNaN(favor)) { c.favor += favor * modifier; } }; } function resetCompanyFavor(): void { AllCompanies[company].favor = 0; } function tonsOfRepCompanies(): void { for (const c of Object.keys(AllCompanies)) { AllCompanies[c].playerReputation = bigNumber; } } function resetAllRepCompanies(): void { for (const c of Object.keys(AllCompanies)) { AllCompanies[c].playerReputation = 0; } } function tonsOfFavorCompanies(): void { for (const c of Object.keys(AllCompanies)) { AllCompanies[c].favor = bigNumber; } } function resetAllFavorCompanies(): void { for (const c of Object.keys(AllCompanies)) { AllCompanies[c].favor = 0; } } return ( }> Companies
Company:
Reputation: modifyCompanyRep(1)(bigNumber)} add={modifyCompanyRep(1)} subtract={modifyCompanyRep(-1)} reset={resetCompanyRep} />
Favor: modifyCompanyFavor(1)(2000)} add={modifyCompanyFavor(1)} subtract={modifyCompanyFavor(-1)} reset={resetCompanyFavor} />
All Reputation:
All Favor:
); }