fix: Reverts GetAccount to use IAccount. Adds IAccount to serialization. (#1565)
### Summary - Fixes usernames not being `Intern`ed - Reverts methods related to getting accounts from returning `Account` to `IAccount`. - Makes `IAccount` also `ISerializable` - Adds `IGenericReader.ReadAccount()` and `IGenericWriter.Write(IAccount)` -> The read method supports the original serialization of username, and using `IAccount.Serial`. The write method only serializes the `Serial`. - Exposes `ReadStringRaw()` to allow some advanced scenarios.
This commit is contained in:
parent
a4e2226a5c
commit
e6d30fef0f
9 changed files with 201 additions and 19 deletions
|
|
@ -76,8 +76,8 @@ public static class ServerAccess
|
|||
return;
|
||||
}
|
||||
|
||||
var acct = Accounts.GetAccount(username);
|
||||
if (acct == null || !acct.Banned && acct.AccessLevel >= AccessLevel.Owner || !acct.CheckPassword(e.Password))
|
||||
if (Accounts.GetAccount(username) is not Account acct
|
||||
|| !acct.Banned && acct.AccessLevel >= AccessLevel.Owner || !acct.CheckPassword(e.Password))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue