diff --git a/Entity/System/Room.cs b/Entity/System/Room.cs index 097ee1e..dab0838 100644 --- a/Entity/System/Room.cs +++ b/Entity/System/Room.cs @@ -5,11 +5,12 @@ namespace Milimoe.FunGame.Core.Entity { public class Room : BaseEntity { + public static readonly Room Empty = new(); public override long Id { get => base.Id ; set => base.Id = value; } public string Roomid { get; set; } = "-1"; public DateTime CreateTime { get; set; } = General.DefaultTime; public Dictionary Players { get; set; } = new(); - public User? RoomMaster { get; set; } + public User RoomMaster { get; set; } = General.UnknownUserInstance; public RoomType RoomType { get; set; } public RoomState RoomState { get; set; } public bool HasPass => Password.Trim() != ""; @@ -26,7 +27,7 @@ namespace Milimoe.FunGame.Core.Entity this.Id = Id; this.Roomid = Roomid; this.CreateTime = CreateTime ?? General.DefaultTime; - this.RoomMaster = RoomMaster; + this.RoomMaster = RoomMaster ?? General.UnknownUserInstance; this.RoomType = RoomType; this.RoomState = RoomState; this.Password = Password; diff --git a/Entity/User/User.cs b/Entity/User/User.cs index 6f8cd37..1912131 100644 --- a/Entity/User/User.cs +++ b/Entity/User/User.cs @@ -7,6 +7,7 @@ namespace Milimoe.FunGame.Core.Entity { public class User : BaseEntity { + public static readonly User Empty = new(); public override Guid Guid { get; set; } = Guid.NewGuid(); public override long Id { get; set; } public string Username { get; set; } = ""; diff --git a/Library/Common/JsonConverter/RoomConverter.cs b/Library/Common/JsonConverter/RoomConverter.cs index 091a34a..58ff85c 100644 --- a/Library/Common/JsonConverter/RoomConverter.cs +++ b/Library/Common/JsonConverter/RoomConverter.cs @@ -47,7 +47,7 @@ namespace Milimoe.FunGame.Core.Library.Common.JsonConverter case RoomQuery.Column_RoomMaster: string master = reader.GetString() ?? ""; - room.RoomMaster = JsonSerializer.Deserialize(master, options); + room.RoomMaster = JsonSerializer.Deserialize(master, options) ?? General.UnknownUserInstance; break; case RoomQuery.Column_RoomType: