diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/BooleanFormatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/BooleanFormatter.cs index 7beb865..90385e5 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/BooleanFormatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/BooleanFormatter.cs @@ -27,13 +27,13 @@ public class NullableBooleanFormatter : IYamlFormatter public void Serialize(ref Utf8YamlEmitter emitter, bool? value, YamlSerializationContext context) { - if (value == null) + if (value.HasValue) { - emitter.WriteNull(); + emitter.WriteBool(value.GetValueOrDefault()); } else { - emitter.WriteBool(value.Value); + emitter.WriteNull(); } } diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/ByteFormatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/ByteFormatter.cs index 18dcbc0..0a026fd 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/ByteFormatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/ByteFormatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, byte? value, YamlSerializatio { if (value.HasValue) { - emitter.WriteInt32(value.Value); + emitter.WriteInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/CharFormatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/CharFormatter.cs index cfc92bf..4a91ff0 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/CharFormatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/CharFormatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, char? value, YamlSerializatio { if (value.HasValue) { - emitter.WriteInt32(value.Value); + emitter.WriteInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/DateTimeFormatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/DateTimeFormatter.cs index 0f447bf..ad99b5c 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/DateTimeFormatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/DateTimeFormatter.cs @@ -56,7 +56,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, DateTime? value, YamlSerializ if (value.HasValue) { var buf = context.GetBuffer64(); - if (Utf8Formatter.TryFormat(value.Value, buf, out var bytesWritten, new StandardFormat('O'))) + if (Utf8Formatter.TryFormat(value.GetValueOrDefault(), buf, out var bytesWritten, new StandardFormat('O'))) { emitter.WriteScalar(buf[..bytesWritten]); } diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Float32Formatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Float32Formatter.cs index 6523a05..279c033 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Float32Formatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Float32Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, float? value, YamlSerializati { if (value.HasValue) { - emitter.WriteFloat(value.Value); + emitter.WriteFloat(value.GetValueOrDefault()); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Float64Formatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Float64Formatter.cs index 54ef6b0..75e2d14 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Float64Formatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Float64Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, double? value, YamlSerializat { if (value.HasValue) { - emitter.WriteDouble(value.Value); + emitter.WriteDouble(value.GetValueOrDefault()); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int16Formatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int16Formatter.cs index b426b61..d28643b 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int16Formatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int16Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, short? value, YamlSerializati { if (value.HasValue) { - emitter.WriteInt32(value.Value); + emitter.WriteInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int32Formatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int32Formatter.cs index e4be1c8..bb2c75e 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int32Formatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int32Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, int? value, YamlSerialization { if (value.HasValue) { - emitter.WriteInt32(value.Value); + emitter.WriteInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int64Formatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int64Formatter.cs index 555c2e6..cd1fbd7 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int64Formatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/Int64Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, long? value, YamlSerializatio { if (value.HasValue) { - emitter.WriteInt64(value.Value); + emitter.WriteInt64(value.GetValueOrDefault()); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/NullableFormatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/NullableFormatter.cs index 54d5b94..2ee6161 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/NullableFormatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/NullableFormatter.cs @@ -44,7 +44,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, T? value, YamlSerializationCo { if (value.HasValue) { - underlyingFormatter.Serialize(ref emitter, value.Value, context); + underlyingFormatter.Serialize(ref emitter, value.GetValueOrDefault(), context); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/SByteFormatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/SByteFormatter.cs index c53add8..d4c676b 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/SByteFormatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/SByteFormatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, sbyte? value, YamlSerializati { if (value.HasValue) { - emitter.WriteInt32(value.Value); + emitter.WriteInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt16Formatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt16Formatter.cs index 6419ad2..4403aca 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt16Formatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt16Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, ushort? value, YamlSerializat { if (value.HasValue) { - emitter.WriteUInt32(value.Value); + emitter.WriteUInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt32Formatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt32Formatter.cs index c968dcf..8c14889 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt32Formatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt32Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, uint? value, YamlSerializatio { if (value.HasValue) { - emitter.WriteUInt32(value.Value); + emitter.WriteUInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt64Formatter.cs b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt64Formatter.cs index e2e4754..73bd78f 100644 --- a/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt64Formatter.cs +++ b/VYaml.Unity/Assets/VYaml/Runtime/Serialization/Formatters/UInt64Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, ulong? value, YamlSerializati { if (value.HasValue) { - emitter.WriteUInt64(value.Value); + emitter.WriteUInt64(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/BooleanFormatter.cs b/VYaml/Serialization/Formatters/BooleanFormatter.cs index 7beb865..90385e5 100644 --- a/VYaml/Serialization/Formatters/BooleanFormatter.cs +++ b/VYaml/Serialization/Formatters/BooleanFormatter.cs @@ -27,13 +27,13 @@ public class NullableBooleanFormatter : IYamlFormatter public void Serialize(ref Utf8YamlEmitter emitter, bool? value, YamlSerializationContext context) { - if (value == null) + if (value.HasValue) { - emitter.WriteNull(); + emitter.WriteBool(value.GetValueOrDefault()); } else { - emitter.WriteBool(value.Value); + emitter.WriteNull(); } } diff --git a/VYaml/Serialization/Formatters/ByteFormatter.cs b/VYaml/Serialization/Formatters/ByteFormatter.cs index 18dcbc0..0a026fd 100644 --- a/VYaml/Serialization/Formatters/ByteFormatter.cs +++ b/VYaml/Serialization/Formatters/ByteFormatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, byte? value, YamlSerializatio { if (value.HasValue) { - emitter.WriteInt32(value.Value); + emitter.WriteInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/CharFormatter.cs b/VYaml/Serialization/Formatters/CharFormatter.cs index cfc92bf..4a91ff0 100644 --- a/VYaml/Serialization/Formatters/CharFormatter.cs +++ b/VYaml/Serialization/Formatters/CharFormatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, char? value, YamlSerializatio { if (value.HasValue) { - emitter.WriteInt32(value.Value); + emitter.WriteInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/DateTimeFormatter.cs b/VYaml/Serialization/Formatters/DateTimeFormatter.cs index 0f447bf..ad99b5c 100644 --- a/VYaml/Serialization/Formatters/DateTimeFormatter.cs +++ b/VYaml/Serialization/Formatters/DateTimeFormatter.cs @@ -56,7 +56,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, DateTime? value, YamlSerializ if (value.HasValue) { var buf = context.GetBuffer64(); - if (Utf8Formatter.TryFormat(value.Value, buf, out var bytesWritten, new StandardFormat('O'))) + if (Utf8Formatter.TryFormat(value.GetValueOrDefault(), buf, out var bytesWritten, new StandardFormat('O'))) { emitter.WriteScalar(buf[..bytesWritten]); } diff --git a/VYaml/Serialization/Formatters/Float32Formatter.cs b/VYaml/Serialization/Formatters/Float32Formatter.cs index 6523a05..279c033 100644 --- a/VYaml/Serialization/Formatters/Float32Formatter.cs +++ b/VYaml/Serialization/Formatters/Float32Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, float? value, YamlSerializati { if (value.HasValue) { - emitter.WriteFloat(value.Value); + emitter.WriteFloat(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/Float64Formatter.cs b/VYaml/Serialization/Formatters/Float64Formatter.cs index 54ef6b0..75e2d14 100644 --- a/VYaml/Serialization/Formatters/Float64Formatter.cs +++ b/VYaml/Serialization/Formatters/Float64Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, double? value, YamlSerializat { if (value.HasValue) { - emitter.WriteDouble(value.Value); + emitter.WriteDouble(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/Int16Formatter.cs b/VYaml/Serialization/Formatters/Int16Formatter.cs index b426b61..d28643b 100644 --- a/VYaml/Serialization/Formatters/Int16Formatter.cs +++ b/VYaml/Serialization/Formatters/Int16Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, short? value, YamlSerializati { if (value.HasValue) { - emitter.WriteInt32(value.Value); + emitter.WriteInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/Int32Formatter.cs b/VYaml/Serialization/Formatters/Int32Formatter.cs index e4be1c8..bb2c75e 100644 --- a/VYaml/Serialization/Formatters/Int32Formatter.cs +++ b/VYaml/Serialization/Formatters/Int32Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, int? value, YamlSerialization { if (value.HasValue) { - emitter.WriteInt32(value.Value); + emitter.WriteInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/Int64Formatter.cs b/VYaml/Serialization/Formatters/Int64Formatter.cs index 555c2e6..cd1fbd7 100644 --- a/VYaml/Serialization/Formatters/Int64Formatter.cs +++ b/VYaml/Serialization/Formatters/Int64Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, long? value, YamlSerializatio { if (value.HasValue) { - emitter.WriteInt64(value.Value); + emitter.WriteInt64(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/NullableFormatter.cs b/VYaml/Serialization/Formatters/NullableFormatter.cs index 54d5b94..2ee6161 100644 --- a/VYaml/Serialization/Formatters/NullableFormatter.cs +++ b/VYaml/Serialization/Formatters/NullableFormatter.cs @@ -44,7 +44,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, T? value, YamlSerializationCo { if (value.HasValue) { - underlyingFormatter.Serialize(ref emitter, value.Value, context); + underlyingFormatter.Serialize(ref emitter, value.GetValueOrDefault(), context); } else { diff --git a/VYaml/Serialization/Formatters/SByteFormatter.cs b/VYaml/Serialization/Formatters/SByteFormatter.cs index c53add8..d4c676b 100644 --- a/VYaml/Serialization/Formatters/SByteFormatter.cs +++ b/VYaml/Serialization/Formatters/SByteFormatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, sbyte? value, YamlSerializati { if (value.HasValue) { - emitter.WriteInt32(value.Value); + emitter.WriteInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/UInt16Formatter.cs b/VYaml/Serialization/Formatters/UInt16Formatter.cs index 6419ad2..4403aca 100644 --- a/VYaml/Serialization/Formatters/UInt16Formatter.cs +++ b/VYaml/Serialization/Formatters/UInt16Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, ushort? value, YamlSerializat { if (value.HasValue) { - emitter.WriteUInt32(value.Value); + emitter.WriteUInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/UInt32Formatter.cs b/VYaml/Serialization/Formatters/UInt32Formatter.cs index c968dcf..8c14889 100644 --- a/VYaml/Serialization/Formatters/UInt32Formatter.cs +++ b/VYaml/Serialization/Formatters/UInt32Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, uint? value, YamlSerializatio { if (value.HasValue) { - emitter.WriteUInt32(value.Value); + emitter.WriteUInt32(value.GetValueOrDefault()); } else { diff --git a/VYaml/Serialization/Formatters/UInt64Formatter.cs b/VYaml/Serialization/Formatters/UInt64Formatter.cs index e2e4754..73bd78f 100644 --- a/VYaml/Serialization/Formatters/UInt64Formatter.cs +++ b/VYaml/Serialization/Formatters/UInt64Formatter.cs @@ -29,7 +29,7 @@ public void Serialize(ref Utf8YamlEmitter emitter, ulong? value, YamlSerializati { if (value.HasValue) { - emitter.WriteUInt64(value.Value); + emitter.WriteUInt64(value.GetValueOrDefault()); } else {