From 86e07fdd9df40a2844df25cb32a7955c22c8b0aa Mon Sep 17 00:00:00 2001 From: Slendy Date: Wed, 29 Mar 2023 13:19:01 -0500 Subject: [PATCH] Handle null previewSlot in category system --- .../Types/Categories/CategoryWithUser.cs | 9 +++++---- ProjectLighthouse/Types/Levels/Category.cs | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ProjectLighthouse.Servers.GameServer/Types/Categories/CategoryWithUser.cs b/ProjectLighthouse.Servers.GameServer/Types/Categories/CategoryWithUser.cs index 953acffe..c051f26d 100644 --- a/ProjectLighthouse.Servers.GameServer/Types/Categories/CategoryWithUser.cs +++ b/ProjectLighthouse.Servers.GameServer/Types/Categories/CategoryWithUser.cs @@ -51,10 +51,11 @@ public abstract class CategoryWithUser : Category public GameCategory Serialize(DatabaseContext database, UserEntity user) { - List slots = new() - { - SlotBase.CreateFromEntity(this.GetPreviewSlot(database, user), GameVersion.LittleBigPlanet3, user.UserId), - }; + List slots = new(); + SlotEntity? previewSlot = this.GetPreviewSlot(database, user); + if (previewSlot != null) + slots.Add(SlotBase.CreateFromEntity(previewSlot, GameVersion.LittleBigPlanet3, user.UserId)); + int totalSlots = this.GetTotalSlots(database, user); return GameCategory.CreateFromEntity(this, new GenericSlotResponse(slots, totalSlots, 2)); } diff --git a/ProjectLighthouse/Types/Levels/Category.cs b/ProjectLighthouse/Types/Levels/Category.cs index 45c350c1..db354c9f 100644 --- a/ProjectLighthouse/Types/Levels/Category.cs +++ b/ProjectLighthouse/Types/Levels/Category.cs @@ -38,10 +38,11 @@ public abstract class Category public GameCategory Serialize(DatabaseContext database) { - List slots = new() - { - SlotBase.CreateFromEntity(this.GetPreviewSlot(database), GameVersion.LittleBigPlanet3, -1), - }; + List slots = new(); + SlotEntity? previewSlot = this.GetPreviewSlot(database); + if (previewSlot != null) + slots.Add(SlotBase.CreateFromEntity(this.GetPreviewSlot(database), GameVersion.LittleBigPlanet3, -1)); + int totalSlots = this.GetTotalSlots(database); return GameCategory.CreateFromEntity(this, new GenericSlotResponse(slots, totalSlots, 2)); }