Mark ShouldSerialize() methods as implicitly used

This commit is contained in:
Bartłomiej Dach 2021-12-28 08:37:16 +01:00
parent bc39c2a877
commit 63e0492725
No known key found for this signature in database
GPG Key ID: BCECCD4FA41F6497
3 changed files with 35 additions and 1 deletions

View File

@ -70,8 +70,15 @@ namespace osu.Game.Rulesets.Osu.Difficulty
SliderFactor = values[ATTRIB_ID_SLIDER_FACTOR];
}
// Used implicitly by Newtonsoft.Json to not serialize flashlight property in some cases.
#region Newtonsoft.Json implicit ShouldSerialize() methods
// The properties in this region are used implicitly by Newtonsoft.Json to not serialise certain fields in some cases.
// They rely on being named exactly the same as the corresponding fields (casing included) and as such should NOT be renamed
// unless the fields are also renamed.
[UsedImplicitly]
public bool ShouldSerializeFlashlightRating() => Mods.Any(m => m is ModFlashlight);
#endregion
}
}

View File

@ -4,6 +4,7 @@
using System;
using System.Diagnostics;
using System.Linq;
using JetBrains.Annotations;
using Newtonsoft.Json;
using osu.Framework.Bindables;
using osu.Game.Beatmaps;
@ -112,9 +113,21 @@ namespace osu.Game.Online.Rooms
}
}
#region Newtonsoft.Json implicit ShouldSerialize() methods
// The properties in this region are used implicitly by Newtonsoft.Json to not serialise certain fields in some cases.
// They rely on being named exactly the same as the corresponding fields (casing included) and as such should NOT be renamed
// unless the fields are also renamed.
[UsedImplicitly]
public bool ShouldSerializeID() => false;
// ReSharper disable once IdentifierTypo
[UsedImplicitly]
public bool ShouldSerializeapiBeatmap() => false;
#endregion
public bool Equals(PlaylistItem other)
=> ID == other?.ID
&& BeatmapID == other.BeatmapID

View File

@ -3,6 +3,7 @@
using System;
using System.Linq;
using JetBrains.Annotations;
using Newtonsoft.Json;
using osu.Framework.Allocation;
using osu.Framework.Bindables;
@ -211,8 +212,21 @@ namespace osu.Game.Online.Rooms
Playlist.RemoveAll(i => i.Expired);
}
#region Newtonsoft.Json implicit ShouldSerialize() methods
// The properties in this region are used implicitly by Newtonsoft.Json to not serialise certain fields in some cases.
// They rely on being named exactly the same as the corresponding fields (casing included) and as such should NOT be renamed
// unless the fields are also renamed.
[UsedImplicitly]
public bool ShouldSerializeRoomID() => false;
[UsedImplicitly]
public bool ShouldSerializeHost() => false;
[UsedImplicitly]
public bool ShouldSerializeEndDate() => false;
#endregion
}
}