using System; using System.IO; using JetBrains.Annotations; using NetSerializer; namespace Robust.Shared.Serialization; /// /// "Safer" read primitives as an alternative to . /// internal static class SafePrimitives { /// /// Read a float value from the stream, flushing NaNs to zero. /// [UsedImplicitly] public static void ReadPrimitive(Stream stream, out float value) { Primitives.ReadPrimitive(stream, out float readFloat); value = float.IsNaN(readFloat) ? 0 : readFloat; } /// /// Read a double value from the stream, flushing NaNs to zero. /// [UsedImplicitly] public static void ReadPrimitive(Stream stream, out double value) { Primitives.ReadPrimitive(stream, out double readDouble); value = double.IsNaN(readDouble) ? 0 : readDouble; } /// /// Read a double value from the stream, flushing NaNs to zero. /// [UsedImplicitly] public static void ReadPrimitive(Stream stream, out Half value) { Primitives.ReadPrimitive(stream, out Half readDouble); value = Half.IsNaN(readDouble) ? Half.Zero : readDouble; } }