From c8832e147ad5b000dcbc1959fba413ecd8acb80f Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sat, 13 Jun 2026 07:22:04 +0100 Subject: [PATCH] Stop cloning entity settings through MessagePack --- Assets/Scripts/Gameplay/ActionGameManager.cs | 3 +-- Assets/Scripts/ServerShared/EntitySerializer.cs | 3 +-- Assets/Scripts/ServerShared/EntitySettings.cs | 10 +++++++++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Assets/Scripts/Gameplay/ActionGameManager.cs b/Assets/Scripts/Gameplay/ActionGameManager.cs index 571a484cf..d2c9bb0b9 100644 --- a/Assets/Scripts/Gameplay/ActionGameManager.cs +++ b/Assets/Scripts/Gameplay/ActionGameManager.cs @@ -10,7 +10,6 @@ using System.Linq; using Cinemachine; using Ink; using Ink.Runtime; -using MessagePack; using TMPro; using UniRx; using UnityEngine; @@ -202,7 +201,7 @@ public class ActionGameManager : MonoBehaviour public EntitySettings NewEntitySettings { - get => MessagePackSerializer.Deserialize(MessagePackSerializer.Serialize(Settings.GameplaySettings.DefaultEntitySettings)); + get => Settings.GameplaySettings.DefaultEntitySettings.Copy(); } public void SaveLoadout(EntityPack pack) diff --git a/Assets/Scripts/ServerShared/EntitySerializer.cs b/Assets/Scripts/ServerShared/EntitySerializer.cs index 0a4f0e77b..0ff28d171 100644 --- a/Assets/Scripts/ServerShared/EntitySerializer.cs +++ b/Assets/Scripts/ServerShared/EntitySerializer.cs @@ -57,8 +57,7 @@ public static class EntitySerializer public static Entity Unpack(ItemManager itemManager, Zone zone, EntityPack pack, bool instantiate = false) { - pack.Settings ??= MessagePackSerializer.Deserialize( - MessagePackSerializer.Serialize(itemManager.GameplaySettings.DefaultEntitySettings)); + pack.Settings ??= itemManager.GameplaySettings.DefaultEntitySettings.Copy(); return pack switch { ShipPack shipPack => Unpack(itemManager, zone, shipPack, instantiate), diff --git a/Assets/Scripts/ServerShared/EntitySettings.cs b/Assets/Scripts/ServerShared/EntitySettings.cs index 80b17aef8..dac16fcea 100644 --- a/Assets/Scripts/ServerShared/EntitySettings.cs +++ b/Assets/Scripts/ServerShared/EntitySettings.cs @@ -6,4 +6,12 @@ public class EntitySettings { [Key(0)] public float ShutdownPerformance = .1f; -} \ No newline at end of file + + public EntitySettings Copy() + { + return new EntitySettings + { + ShutdownPerformance = ShutdownPerformance + }; + } +}