Skip to content

Commit 96c5a6b

Browse files
committed
further make everything use invariant culture
1 parent f2c986c commit 96c5a6b

1 file changed

Lines changed: 28 additions & 22 deletions

File tree

Codecs/KeyValues2.cs

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
using System.Text;
55
using System.Numerics;
66
using System.IO;
7+
using System.Runtime.CompilerServices;
8+
using System.Globalization;
79

810
namespace Datamodel.Codecs
911
{
@@ -254,55 +256,59 @@ void WriteAttribute(string name, Type type, object value, bool in_array)
254256
if (type == typeof(bool))
255257
value = (bool)value ? 1 : 0;
256258
else if (type == typeof(float))
257-
value = (float)value;
259+
value = FormattableString.Invariant($"{(float)value}");
258260
else if (type == typeof(byte[]))
259-
value = BitConverter.ToString((byte[])value).Replace("-", string.Empty);
261+
value = BitConverter.ToString((byte[])value).Replace("-", string.Empty, false, CultureInfo.InvariantCulture);
260262
else if (type == typeof(TimeSpan))
261-
value = ((TimeSpan)value).TotalSeconds;
263+
value = ((TimeSpan)value).TotalSeconds.ToString(CultureInfo.InvariantCulture);
262264
else if (type == typeof(Color))
263265
{
264-
var c = (Color)value;
265-
value = string.Join(" ", new int[] { c.R, c.G, c.B, c.A });
266+
var castValue = (Color)value;
267+
value = FormattableString.Invariant($"{castValue.R} {castValue.G} {castValue.B} {castValue.A}");
266268
}
267269
else if (value is ulong ulong_value)
268-
value = $"0x{ulong_value:X}";
270+
value = $"0x{ulong_value.ToString(CultureInfo.InvariantCulture):X}";
269271
else if (type == typeof(Vector2))
270272
{
271-
var arr = new float[2];
272-
((Vector2)value).CopyTo(arr);
273-
value = string.Join(" ", arr);
273+
var castValue = (Vector2)value;
274+
value = FormattableString.Invariant($"{castValue.X} {castValue.Y}");
274275
}
275276
else if (type == typeof(Vector3))
276277
{
277-
var arr = new float[3];
278-
((Vector3)value).CopyTo(arr);
279-
value = string.Join(" ", arr);
278+
var castValue = (Vector3)value;
279+
value = FormattableString.Invariant($"{castValue.X} {castValue.Y} {castValue.Z}");
280280
}
281281
else if (type == typeof(Vector4))
282282
{
283-
var arr = new float[4];
284-
((Vector4)value).CopyTo(arr);
285-
value = string.Join(" ", arr);
283+
var castValue = (Vector4)value;
284+
value = FormattableString.Invariant($"{castValue.X} {castValue.Y} {castValue.Z} {castValue.W}");
286285
}
287286
else if (type == typeof(Quaternion))
288287
{
289-
var q = (Quaternion)value;
290-
value = FormattableString.Invariant($"{q.X} {q.Y} {q.Z} {q.W}");
288+
var castValue = (Quaternion)value;
289+
value = FormattableString.Invariant($"{castValue.X} {castValue.Y} {castValue.Z} {castValue.W}");
291290
}
292291
else if (type == typeof(Matrix4x4))
293292
{
294-
var m = (Matrix4x4)value;
295-
value = string.Join(" ", m.M11, m.M12, m.M13, m.M14, m.M21, m.M22, m.M23, m.M24, m.M31, m.M32, m.M33, m.M34, m.M41, m.M42, m.M43, m.M44);
293+
var castValue = (Matrix4x4)value;
294+
var matrixString =
295+
$"{castValue.M11} {castValue.M12} {castValue.M13} {castValue.M14}" +
296+
$" {castValue.M21} {castValue.M22} {castValue.M23} {castValue.M24}" +
297+
$" {castValue.M31} {castValue.M32} {castValue.M33} {castValue.M34}" +
298+
$" {castValue.M41} {castValue.M42} {castValue.M43} {castValue.M44}";
299+
300+
value = FormattableString.Invariant(FormattableStringFactory.Create(matrixString));
296301
}
297302
else if (value is QAngle qangle_value)
298303
{
299-
value = string.Join(" ", (int)qangle_value.Pitch, (int)qangle_value.Yaw, (int)qangle_value.Roll);
304+
var castValue = (QAngle)value;
305+
value = FormattableString.Invariant($"{castValue.Pitch} {castValue.Yaw} {castValue.Roll}");
300306
}
301307

302308
if (in_array)
303-
Writer.Write(String.Format(" \"{0}\",", value.ToString()));
309+
Writer.Write(FormattableString.Invariant($" \"{value}\","));
304310
else
305-
Writer.WriteTokenLine(name, TypeNames[type], value.ToString());
311+
Writer.WriteTokenLine(name, TypeNames[type], FormattableString.Invariant($"{value}"));
306312
}
307313

308314
}

0 commit comments

Comments
 (0)