fix(core): Fixes various issues with codegen (#646)
- [X] Fixes bad `ReadEnum` by size - [X] Fixes array, list, and set not handling null values properly. - It will be up to the user (for now) to null out empty lists using `[AfterDeserialization]`. Convenience may be added later. - [X] Fixes errors with `dotnet clean` and non-empty generation folder - [X] Fixes bad field indexes on `Account.cs` causing `tags` to not be serialized/deserialized. - This was caused by a duplicate entry. Don't have protection against this _yet_.
This commit is contained in:
parent
75db56edc4
commit
eb4e3ac070
8 changed files with 47 additions and 21 deletions
|
|
@ -64,17 +64,17 @@ namespace Server.Accounting
|
|||
[SerializableField(10, setter: "private")]
|
||||
private List<AccountComment> _comments;
|
||||
|
||||
[SerializableField(10, setter: "private")]
|
||||
[SerializableField(11, setter: "private")]
|
||||
private List<AccountTag> _tags;
|
||||
|
||||
[SerializableField(11)]
|
||||
[SerializableField(12)]
|
||||
private IPAddress[] _loginIPs;
|
||||
|
||||
/// <summary>
|
||||
/// List of IP addresses for restricted access. '*' wildcard supported. If the array contains zero entries, all IP addresses
|
||||
/// are allowed.
|
||||
/// </summary>
|
||||
[SerializableField(12)]
|
||||
[SerializableField(13)]
|
||||
private string[] _ipRestrictions;
|
||||
|
||||
private TimeSpan _totalGameTime;
|
||||
|
|
@ -83,7 +83,7 @@ namespace Server.Accounting
|
|||
/// Gets the total game time of this account, also considering the game time of characters
|
||||
/// that have been deleted.
|
||||
/// </summary>
|
||||
[SerializableField(13)]
|
||||
[SerializableField(14)]
|
||||
public TimeSpan TotalGameTime
|
||||
{
|
||||
get
|
||||
|
|
@ -105,7 +105,7 @@ namespace Server.Accounting
|
|||
}
|
||||
}
|
||||
|
||||
[SerializableField(14)]
|
||||
[SerializableField(15)]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.Administrator)]")]
|
||||
private string _email;
|
||||
|
||||
|
|
@ -345,8 +345,8 @@ namespace Server.Accounting
|
|||
_totalGold = reader.ReadInt();
|
||||
_totalPlat = reader.ReadInt();
|
||||
|
||||
_mobiles = new Mobile[7];
|
||||
var length = reader.ReadInt();
|
||||
_mobiles = new Mobile[length];
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
_mobiles[i] = reader.ReadEntity<Mobile>();
|
||||
|
|
|
|||
|
|
@ -74,6 +74,15 @@
|
|||
"SerializationMethodSignatureMigrationRule"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Tags",
|
||||
"type": "System.Collections.Generic.List\u003CServer.Accounting.AccountTag\u003E",
|
||||
"rule": "ListMigrationRule",
|
||||
"ruleArguments": [
|
||||
"Server.Accounting.AccountTag",
|
||||
"SerializationMethodSignatureMigrationRule"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "LoginIPs",
|
||||
"type": "System.Net.IPAddress[]",
|
||||
|
|
|
|||
|
|
@ -30,7 +30,8 @@
|
|||
<Delete Files="..\..\Distribution\Assemblies\libz.dylib" ContinueOnError="true" />
|
||||
<Delete Files="..\..\Distribution\Assemblies\libz.so" ContinueOnError="true" />
|
||||
<Delete Files="..\..\Distribution\Assemblies\ZLib.Bindings.dll" ContinueOnError="true" />
|
||||
<RemoveDir Directories="Generated" />
|
||||
<Delete Files="Generated\**\*" ContinueOnError="true" />
|
||||
<RemoveDir Directories="Generated" ContinueOnError="true" />
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Server\Server.csproj" Private="false" PrivateAssets="All" IncludeAssets="None">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue