mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-10-23 10:13:13 +02:00
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import React 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 Button from "@mui/material/Button";
|
|
import { IPlayer } from "../../PersonObjects/IPlayer";
|
|
import { saveObject } from "../../SaveObject";
|
|
import { IEngine } from "../../IEngine";
|
|
|
|
// Update as additional BitNodes get implemented
|
|
|
|
interface IProps {
|
|
player: IPlayer;
|
|
engine: IEngine;
|
|
}
|
|
|
|
export function TimeSkip(props: IProps): React.ReactElement {
|
|
function timeskip(time: number) {
|
|
return () => {
|
|
props.player.lastUpdate -= time;
|
|
props.engine._lastUpdate -= time;
|
|
saveObject.saveGame(props.engine.indexedDb);
|
|
setTimeout(() => location.reload(), 1000);
|
|
};
|
|
}
|
|
|
|
return (
|
|
<Accordion>
|
|
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
|
<h2>Time skip</h2>
|
|
</AccordionSummary>
|
|
<AccordionDetails>
|
|
<Button onClick={timeskip(60 * 1000)}>1 minute</Button>
|
|
<Button onClick={timeskip(60 * 60 * 1000)}>1 hour</Button>
|
|
<Button onClick={timeskip(24 * 60 * 60 * 1000)}>1 day</Button>
|
|
</AccordionDetails>
|
|
</Accordion>
|
|
);
|
|
}
|