diff --git a/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll b/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll index ad033a2..50ae527 100644 Binary files a/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll and b/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll differ diff --git a/src/Unity/Assets/Scripts/Managers/GroupManager.cs b/src/Unity/Assets/Scripts/Managers/GroupManager.cs index 90402fe..7155024 100644 --- a/src/Unity/Assets/Scripts/Managers/GroupManager.cs +++ b/src/Unity/Assets/Scripts/Managers/GroupManager.cs @@ -22,7 +22,7 @@ namespace CounterDrone.Unity _service = new GroupService(new GroupRepository(_db)); } - void OnDestroy() => _db?.Close(); + void OnDisable() { _db?.Dispose(); _db = null; } public Group Create(string name, GroupType type, string desc = "") => _service.CreateGroup(name, type, desc); diff --git a/src/Unity/Assets/Scripts/Managers/ModelManager.cs b/src/Unity/Assets/Scripts/Managers/ModelManager.cs index cc009ac..6a41157 100644 --- a/src/Unity/Assets/Scripts/Managers/ModelManager.cs +++ b/src/Unity/Assets/Scripts/Managers/ModelManager.cs @@ -24,7 +24,7 @@ namespace CounterDrone.Unity _service = new ModelService(new ModelRepository(_db), _paths); } - void OnDestroy() => _db?.Close(); + void OnDisable() { _db?.Dispose(); _db = null; } public ModelInfo Import(string filePath, string name) => _service.ImportModel(filePath, name); public void Delete(string id) => _service.DeleteModel(id); diff --git a/src/Unity/Assets/Scripts/Managers/ReportManager.cs b/src/Unity/Assets/Scripts/Managers/ReportManager.cs index 288415b..ec8fa54 100644 --- a/src/Unity/Assets/Scripts/Managers/ReportManager.cs +++ b/src/Unity/Assets/Scripts/Managers/ReportManager.cs @@ -22,7 +22,7 @@ namespace CounterDrone.Unity _service = new ReportService(_db, _paths); } - void OnDestroy() => _db?.Close(); + void OnDisable() { _db?.Dispose(); _db = null; } public SimulationReport Generate(string taskId, TaskFullConfig cfg, List events, string status, float duration) => _service.Generate(taskId, cfg, events, status, duration); diff --git a/src/Unity/Assets/Scripts/Managers/ScenarioManager.cs b/src/Unity/Assets/Scripts/Managers/ScenarioManager.cs index e729f51..92a462f 100644 --- a/src/Unity/Assets/Scripts/Managers/ScenarioManager.cs +++ b/src/Unity/Assets/Scripts/Managers/ScenarioManager.cs @@ -35,7 +35,7 @@ namespace CounterDrone.Unity } } - void OnDestroy() => _db?.Close(); + void OnDisable() { _db?.Dispose(); _db = null; } public SimTask CreateTask(string name, string number) => _service.CreateTask(name, number); public void DeleteTask(string id) => _service.DeleteTask(id); diff --git a/src/Unity/Assets/Scripts/Managers/SimulationRunner.cs b/src/Unity/Assets/Scripts/Managers/SimulationRunner.cs index 87e0b40..c3d471b 100644 --- a/src/Unity/Assets/Scripts/Managers/SimulationRunner.cs +++ b/src/Unity/Assets/Scripts/Managers/SimulationRunner.cs @@ -149,7 +149,8 @@ namespace CounterDrone.Unity } public void Stop() => _engine?.Stop(); - void OnDestroy() { Stop(); _db?.Close(); } + void OnDisable() { _db?.Dispose(); _db = null; } + void OnDestroy() => Stop(); private void SpawnDroneVisual(DroneEntity drone) {