mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-25 02:32:55 +02:00
Change money to automatically color grey when something cannot be bought.
This commit is contained in:
@@ -26,18 +26,18 @@ export function ScriptProduction(props: IProps): React.ReactElement {
|
||||
Total online production of Active scripts:
|
||||
<span className="money-gold">
|
||||
<span id="active-scripts-total-production-active">
|
||||
{Money(onlineProduction)}
|
||||
<Money money={onlineProduction} />
|
||||
</span> / sec
|
||||
</span><br />
|
||||
|
||||
Total online production since last Aug installation:
|
||||
<span id="active-scripts-total-prod-aug-total" className="money-gold">
|
||||
{Money(props.p.scriptProdSinceLastAug)}
|
||||
<Money money={props.p.scriptProdSinceLastAug} />
|
||||
</span>
|
||||
|
||||
(<span className="money-gold">
|
||||
<span id="active-scripts-total-prod-aug-avg" className="money-gold">
|
||||
{Money(prodRateSinceLastAug)}
|
||||
<Money money={prodRateSinceLastAug} />
|
||||
</span> / sec
|
||||
</span>)
|
||||
</p>
|
||||
|
||||
@@ -53,13 +53,13 @@ export function WorkerScriptAccordion(props: IProps): React.ReactElement {
|
||||
<pre>Args: {arrayToString(props.workerScript.args)}</pre>
|
||||
<pre>Online Time: {convertTimeMsToTimeElapsedString(scriptRef.onlineRunningTime * 1e3)}</pre>
|
||||
<pre>Offline Time: {convertTimeMsToTimeElapsedString(scriptRef.offlineRunningTime * 1e3)}</pre>
|
||||
<pre>Total online production: {Money(scriptRef.onlineMoneyMade)}</pre>
|
||||
<pre>Total online production: <Money money={scriptRef.onlineMoneyMade} /></pre>
|
||||
<pre>{(Array(26).join(" ") + numeralWrapper.formatExp(scriptRef.onlineExpGained) + " hacking exp")}</pre>
|
||||
<pre>Online production rate: {Money(onlineMps)} / second</pre>
|
||||
<pre>Online production rate: <Money money={onlineMps} /> / second</pre>
|
||||
<pre>{(Array(25).join(" ") + numeralWrapper.formatExp(onlineEps) + " hacking exp / second")}</pre>
|
||||
<pre>Total offline production: {Money(scriptRef.offlineMoneyMade)}</pre>
|
||||
<pre>Total offline production: <Money money={scriptRef.offlineMoneyMade} /></pre>
|
||||
<pre>{(Array(27).join(" ") + numeralWrapper.formatExp(scriptRef.offlineExpGained) + " hacking exp")}</pre>
|
||||
<pre>Offline production rate: {Money(offlineMps)} / second</pre>
|
||||
<pre>Offline production rate: <Money money={offlineMps} /> / second</pre>
|
||||
<pre>{(Array(26).join(" ") + numeralWrapper.formatExp(offlineEps) + " hacking exp / second")}</pre>
|
||||
|
||||
<AccordionButton
|
||||
|
||||
+15
-15
@@ -47,21 +47,21 @@ export function CharacterInfo(p: IPlayer): React.ReactElement {
|
||||
}
|
||||
|
||||
function convertMoneySourceTrackerToString(src: MoneySourceTracker): React.ReactElement {
|
||||
const parts: any[][] = [[`Total:`, Money(src.total)]];
|
||||
if (src.bladeburner) { parts.push([`Bladeburner:`, Money(src.bladeburner)]) }
|
||||
if (src.codingcontract) { parts.push([`Coding Contracts:`, Money(src.codingcontract)]) }
|
||||
if (src.work) { parts.push([`Company Work:`, Money(src.work)]) }
|
||||
if (src.class) { parts.push([`Class:`, Money(src.class)]) }
|
||||
if (src.corporation) { parts.push([`Corporation:`, Money(src.corporation)]) }
|
||||
if (src.crime) { parts.push([`Crimes:`, Money(src.crime)]) }
|
||||
if (src.gang) { parts.push([`Gang:`, Money(src.gang)]) }
|
||||
if (src.hacking) { parts.push([`Hacking:`, Money(src.hacking)]) }
|
||||
if (src.hacknetnode) { parts.push([`Hacknet Nodes:`, Money(src.hacknetnode)]) }
|
||||
if (src.hospitalization) { parts.push([`Hospitalization:`, Money(src.hospitalization)]) }
|
||||
if (src.infiltration) { parts.push([`Infiltration:`, Money(src.infiltration)]) }
|
||||
if (src.stock) { parts.push([`Stock Market:`, Money(src.stock)]) }
|
||||
if (src.casino) { parts.push([`Casino:`, Money(src.casino)]) }
|
||||
if (src.sleeves) { parts.push([`Sleeves:`, Money(src.sleeves)]) }
|
||||
const parts: any[][] = [[`Total:`, <Money money={src.total} />]];
|
||||
if (src.bladeburner) { parts.push([`Bladeburner:`, <Money money={src.bladeburner} />]) }
|
||||
if (src.codingcontract) { parts.push([`Coding Contracts:`, <Money money={src.codingcontract} />]) }
|
||||
if (src.work) { parts.push([`Company Work:`, <Money money={src.work} />]) }
|
||||
if (src.class) { parts.push([`Class:`, <Money money={src.class} />]) }
|
||||
if (src.corporation) { parts.push([`Corporation:`, <Money money={src.corporation} />]) }
|
||||
if (src.crime) { parts.push([`Crimes:`, <Money money={src.crime} />]) }
|
||||
if (src.gang) { parts.push([`Gang:`, <Money money={src.gang} />]) }
|
||||
if (src.hacking) { parts.push([`Hacking:`, <Money money={src.hacking} />]) }
|
||||
if (src.hacknetnode) { parts.push([`Hacknet Nodes:`, <Money money={src.hacknetnode} />]) }
|
||||
if (src.hospitalization) { parts.push([`Hospitalization:`, <Money money={src.hospitalization} />]) }
|
||||
if (src.infiltration) { parts.push([`Infiltration:`, <Money money={src.infiltration} />]) }
|
||||
if (src.stock) { parts.push([`Stock Market:`, <Money money={src.stock} />]) }
|
||||
if (src.casino) { parts.push([`Casino:`, <Money money={src.casino} />]) }
|
||||
if (src.sleeves) { parts.push([`Sleeves:`, <Money money={src.sleeves} />]) }
|
||||
|
||||
return StatsTable(parts);
|
||||
}
|
||||
|
||||
+12
-2
@@ -1,6 +1,16 @@
|
||||
import * as React from "react";
|
||||
import { numeralWrapper } from "../../ui/numeralFormat";
|
||||
import { IPlayer } from "../../PersonObjects/IPlayer";
|
||||
|
||||
export function Money(money: number | string): JSX.Element {
|
||||
return <span className={"money-gold samefont"}>{typeof money === 'number' ? numeralWrapper.formatMoney(money) : money}</span>
|
||||
interface IProps {
|
||||
money: number | string;
|
||||
player?: IPlayer;
|
||||
}
|
||||
export function Money(props: IProps): JSX.Element {
|
||||
if(props.player !== undefined) {
|
||||
if(typeof props.money !== 'number') throw new Error('if player if provided, money should be number, contact dev');
|
||||
if(!props.player.canAfford(props.money))
|
||||
return <span className={"unbuyable samefont"}>{numeralWrapper.formatMoney(props.money)}</span>
|
||||
}
|
||||
return <span className={"money-gold samefont"}>{typeof props.money === 'number' ? numeralWrapper.formatMoney(props.money) : props.money}</span>
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import React from 'react';
|
||||
import { numeralWrapper } from "../../ui/numeralFormat";
|
||||
import { Money } from "../../ui/React/Money";
|
||||
|
||||
export function MoneyRate(money: number): JSX.Element {
|
||||
return Money(`${numeralWrapper.formatMoney(money)} / sec`);
|
||||
return <Money money={`${numeralWrapper.formatMoney(money)} / sec`} />;
|
||||
}
|
||||
Reference in New Issue
Block a user