Skip to content

Commit c023453

Browse files
committed
[Core.Serialization] Modernize code
1 parent 5e5d92b commit c023453

70 files changed

Lines changed: 5431 additions & 5614 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

sources/buildengine/Stride.Core.BuildEngine.Common/FileVersionStorage.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,10 @@ protected override List<KeyValuePair<FileVersionKey, ObjectId>> ReadEntries(Syst
115115

116116
protected override void WriteEntry(Stream localStream, KeyValuePair<FileVersionKey, ObjectId> value)
117117
{
118+
ArgumentNullException.ThrowIfNull(localStream);
119+
118120
var key = value.Key;
119-
var line = string.Format("{0}\t{1}\t{2}\t{3}\n", key.Path, key.LastModifiedDate.Ticks, key.FileSize, value.Value);
121+
var line = $"{key.Path}\t{key.LastModifiedDate.Ticks}\t{key.FileSize}\t{value.Value}\n";
120122
var bytes = Encoding.UTF8.GetBytes(line);
121123
localStream.Write(bytes, 0, bytes.Length);
122124
}
Lines changed: 96 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,128 +1,124 @@
11
// Copyright (c) .NET Foundation and Contributors (https://dotnetfoundation.org/ & https://stride3d.net) and Silicon Studio Corp. (https://www.siliconstudio.co.jp)
22
// Distributed under the MIT license. See the LICENSE.md file in the project root for more information.
3-
using System;
4-
using Stride.Core;
3+
54
using Stride.Core.Serialization;
6-
using Stride.Core.Storage;
75

8-
namespace Stride.Core.Assets
6+
namespace Stride.Core.Assets;
7+
8+
[DataContract(nameof(AssetId))]
9+
[DataSerializer(typeof(Serializer))]
10+
public readonly struct AssetId : IComparable<AssetId>, IEquatable<AssetId>
911
{
10-
[DataContract("AssetId")]
11-
[DataSerializer(typeof(AssetId.Serializer))]
12-
public struct AssetId : IComparable<AssetId>, IEquatable<AssetId>
12+
private readonly Guid guid;
13+
14+
public static readonly AssetId Empty = new();
15+
16+
public AssetId(Guid guid)
1317
{
14-
private readonly Guid guid;
18+
this.guid = guid;
19+
}
1520

16-
public static readonly AssetId Empty = new AssetId();
21+
public AssetId(string guid)
22+
{
23+
this.guid = new Guid(guid);
24+
}
1725

18-
public AssetId(Guid guid)
19-
{
20-
this.guid = guid;
21-
}
26+
public static explicit operator AssetId(Guid guid)
27+
{
28+
return new AssetId(guid);
29+
}
2230

23-
public AssetId(string guid)
24-
{
25-
this.guid = new Guid(guid);
26-
}
31+
public static explicit operator Guid(AssetId id)
32+
{
33+
return id.guid;
34+
}
2735

28-
public static explicit operator AssetId(Guid guid)
29-
{
30-
return new AssetId(guid);
31-
}
36+
public static AssetId New()
37+
{
38+
return new AssetId(Guid.NewGuid());
39+
}
3240

33-
public static explicit operator Guid(AssetId id)
34-
{
35-
return id.guid;
36-
}
41+
/// <summary>
42+
/// Implements the ==.
43+
/// </summary>
44+
/// <param name="left">The left.</param>
45+
/// <param name="right">The right.</param>
46+
/// <returns>The result of the operator.</returns>
47+
public static bool operator ==(AssetId left, AssetId right)
48+
{
49+
return left.Equals(right);
50+
}
3751

38-
public static AssetId New()
39-
{
40-
return new AssetId(Guid.NewGuid());
41-
}
52+
/// <summary>
53+
/// Implements the !=.
54+
/// </summary>
55+
/// <param name="left">The left.</param>
56+
/// <param name="right">The right.</param>
57+
/// <returns>The result of the operator.</returns>
58+
public static bool operator !=(AssetId left, AssetId right)
59+
{
60+
return !left.Equals(right);
61+
}
4262

43-
/// <summary>
44-
/// Implements the ==.
45-
/// </summary>
46-
/// <param name="left">The left.</param>
47-
/// <param name="right">The right.</param>
48-
/// <returns>The result of the operator.</returns>
49-
public static bool operator ==(AssetId left, AssetId right)
50-
{
51-
return left.Equals(right);
52-
}
63+
/// <inheritdoc/>
64+
public bool Equals(AssetId other)
65+
{
66+
return guid == other.guid;
67+
}
5368

54-
/// <summary>
55-
/// Implements the !=.
56-
/// </summary>
57-
/// <param name="left">The left.</param>
58-
/// <param name="right">The right.</param>
59-
/// <returns>The result of the operator.</returns>
60-
public static bool operator !=(AssetId left, AssetId right)
61-
{
62-
return !left.Equals(right);
63-
}
69+
/// <inheritdoc/>
70+
public override bool Equals(object? obj)
71+
{
72+
return obj is AssetId id && Equals(id);
73+
}
6474

65-
/// <inheritdoc/>
66-
public bool Equals(AssetId other)
67-
{
68-
return guid == other.guid;
69-
}
75+
/// <inheritdoc/>
76+
public override int GetHashCode()
77+
{
78+
return guid.GetHashCode();
79+
}
7080

71-
/// <inheritdoc/>
72-
public override bool Equals(object obj)
73-
{
74-
return obj is AssetId id && Equals(id);
75-
}
81+
/// <inheritdoc/>
82+
public int CompareTo(AssetId other)
83+
{
84+
return guid.CompareTo(other.guid);
85+
}
7686

77-
/// <inheritdoc/>
78-
public override int GetHashCode()
79-
{
80-
return guid.GetHashCode();
81-
}
87+
public static bool TryParse(string input, out AssetId result)
88+
{
89+
var success = Guid.TryParse(input, out var guid);
90+
result = new AssetId(guid);
91+
return success;
92+
}
8293

83-
/// <inheritdoc/>
84-
public int CompareTo(AssetId other)
85-
{
86-
return guid.CompareTo(other.guid);
87-
}
94+
public static AssetId Parse(string input)
95+
{
96+
return new AssetId(Guid.Parse(input));
97+
}
8898

89-
public static bool TryParse(string input, out AssetId result)
90-
{
91-
Guid guid;
92-
var success = Guid.TryParse(input, out guid);
93-
result = new AssetId(guid);
94-
return success;
95-
}
99+
/// <inheritdoc/>
100+
public override string ToString()
101+
{
102+
return guid.ToString();
103+
}
96104

97-
public static AssetId Parse(string input)
98-
{
99-
return new AssetId(Guid.Parse(input));
100-
}
105+
internal class Serializer : DataSerializer<AssetId>
106+
{
107+
private DataSerializer<Guid>? guidSerialier;
101108

102-
/// <inheritdoc/>
103-
public override string ToString()
109+
public override void Initialize(SerializerSelector serializerSelector)
104110
{
105-
return guid.ToString();
111+
base.Initialize(serializerSelector);
112+
113+
guidSerialier = serializerSelector.GetSerializer<Guid>();
106114
}
107115

108-
internal class Serializer : DataSerializer<AssetId>
116+
public override void Serialize(ref AssetId obj, ArchiveMode mode, SerializationStream stream)
109117
{
110-
private DataSerializer<Guid> guidSerialier;
111-
112-
public override void Initialize(SerializerSelector serializerSelector)
113-
{
114-
base.Initialize(serializerSelector);
115-
116-
guidSerialier = serializerSelector.GetSerializer<Guid>();
117-
}
118-
119-
public override void Serialize(ref AssetId obj, ArchiveMode mode, SerializationStream stream)
120-
{
121-
var guid = obj.guid;
122-
guidSerialier.Serialize(ref guid, mode, stream);
123-
if (mode == ArchiveMode.Deserialize)
124-
obj = new AssetId(guid);
125-
}
118+
var guid = obj.guid;
119+
guidSerialier?.Serialize(ref guid, mode, stream);
120+
if (mode == ArchiveMode.Deserialize)
121+
obj = new AssetId(guid);
126122
}
127123
}
128124
}

0 commit comments

Comments
 (0)