From 070245270f484cbfc28b41bc4c8ed6799a1c0544 Mon Sep 17 00:00:00 2001 From: LeopoldTal Date: Sat, 31 Oct 2020 10:15:45 +0100 Subject: [PATCH] Use locale decimal separator on belt reader display (#816) * use locale decimal separator on belt reader display * rename formatter method --- src/js/core/utils.js | 11 ++++++++++- src/js/game/systems/item_processor_overlays.js | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/js/core/utils.js b/src/js/core/utils.js index 98327378..50657841 100644 --- a/src/js/core/utils.js +++ b/src/js/core/utils.js @@ -558,7 +558,16 @@ export function formatSeconds(secs) { } /** - * Formats a number like 2.5 to "2.5 items / s" + * Formats a number like 2.51 to "2.5" + * @param {number} speed + * @param {string=} separator The decimal separator for numbers like 50.1 (separator='.') + */ +export function round1DigitLocalized(speed, separator = T.global.decimalSeparator) { + return round1Digit(speed).toString().replace(".", separator); +} + +/** + * Formats a number like 2.51 to "2.51 items / s" * @param {number} speed * @param {boolean=} double * @param {string=} separator The decimal separator for numbers like 50.1 (separator='.') diff --git a/src/js/game/systems/item_processor_overlays.js b/src/js/game/systems/item_processor_overlays.js index 3ba44c7b..0377f779 100644 --- a/src/js/game/systems/item_processor_overlays.js +++ b/src/js/game/systems/item_processor_overlays.js @@ -1,6 +1,6 @@ import { globalConfig } from "../../core/config"; import { Loader } from "../../core/loader"; -import { smoothPulse } from "../../core/utils"; +import { round1DigitLocalized, smoothPulse } from "../../core/utils"; import { enumItemProcessorRequirements, enumItemProcessorTypes } from "../components/item_processor"; import { Entity } from "../entity"; import { GameSystem } from "../game_system"; @@ -92,7 +92,7 @@ export class ItemProcessorOverlaysSystem extends GameSystem { parameters.context.textAlign = "center"; parameters.context.font = "bold 10px GameFont"; parameters.context.fillText( - "" + Math.round(readerComp.lastThroughput * 10) / 10, + round1DigitLocalized(readerComp.lastThroughput), (staticComp.origin.x + 0.5) * globalConfig.tileSize, (staticComp.origin.y + 0.62) * globalConfig.tileSize );