diff --git a/src/Unity/Assets/Scripts/Managers/ManagerVerification.cs b/src/Unity/Assets/Scripts/Managers/ManagerVerification.cs index dd6bd9b..209b63e 100644 --- a/src/Unity/Assets/Scripts/Managers/ManagerVerification.cs +++ b/src/Unity/Assets/Scripts/Managers/ManagerVerification.cs @@ -23,11 +23,9 @@ namespace CounterDrone.Unity System.IO.Directory.Delete(paths.GetFramesDir(), true); var modelMgr = gameObject.AddComponent(); - modelMgr.SendMessage("Awake", SendMessageOptions.DontRequireReceiver); Debug.Log("1. ModelManager OK"); var scenarioMgr = gameObject.AddComponent(); - scenarioMgr.SendMessage("Awake", SendMessageOptions.DontRequireReceiver); var task = scenarioMgr.CreateTask("Verification", ""); var taskId = task.Id; Debug.Log($"2. ScenarioManager OK. Task: {taskId}"); @@ -73,7 +71,6 @@ namespace CounterDrone.Unity Debug.Log($"4. Recommendation: {rec.Best.RecommendedAerosolType}, {rec.Best.Platforms.Count} guns, prob={rec.Best.InterceptProbability:P0}"); var runner = gameObject.AddComponent(); - runner.SendMessage("Awake", SendMessageOptions.DontRequireReceiver); runner.LoadAndStart(taskId); runner.Engine.TimeScale = 10f; @@ -87,7 +84,6 @@ namespace CounterDrone.Unity Debug.Log($"5. Simulation done. State={runner.Engine.State}, DroneStatus={runner.Engine.Drones[0].Status}, HP={runner.Engine.Drones[0].Hp:F2}, Frames={frameCount}"); var reportMgr = gameObject.AddComponent(); - reportMgr.SendMessage("Awake", SendMessageOptions.DontRequireReceiver); detail = scenarioMgr.GetDetail(taskId); var simEvents = new List(runner.Engine.Events); var report = reportMgr.Generate(taskId, detail, simEvents, @@ -96,7 +92,6 @@ namespace CounterDrone.Unity Debug.Log($"6. Report OK. Exported: {path}"); var replay = gameObject.AddComponent(); - replay.SendMessage("Awake", SendMessageOptions.DontRequireReceiver); replay.LoadReplay(taskId); Debug.Log($"7. Replay OK. {replay.TotalFrames} frames, {replay.CurrentFrames.Count} records"); diff --git a/src/Unity/Assets/Scripts/Managers/ScenarioManager.cs b/src/Unity/Assets/Scripts/Managers/ScenarioManager.cs index de3b245..ece06ac 100644 --- a/src/Unity/Assets/Scripts/Managers/ScenarioManager.cs +++ b/src/Unity/Assets/Scripts/Managers/ScenarioManager.cs @@ -16,15 +16,22 @@ namespace CounterDrone.Unity void Awake() { - var paths = new UnityPathProvider(); - Debug.Log($"ScenarioManager.Awake: dbPath={paths.GetMainDbPath()}"); - var db = new DatabaseManager(paths).OpenMainDb(); - _service = new ScenarioService( - new SimTaskRepository(db), new CombatSceneRepository(db), - new ControlZoneRepository(db), new TargetConfigRepository(db), - new EquipmentDeploymentRepository(db), new CloudDispersalRepository(db), - new RoutePlanRepository(db), new WaypointRepository(db)); - Debug.Log("ScenarioManager.Awake: OK"); + try + { + var paths = new UnityPathProvider(); + Debug.Log($"ScenarioManager.Awake: dbPath={paths.GetMainDbPath()}"); + var db = new DatabaseManager(paths).OpenMainDb(); + _service = new ScenarioService( + new SimTaskRepository(db), new CombatSceneRepository(db), + new ControlZoneRepository(db), new TargetConfigRepository(db), + new EquipmentDeploymentRepository(db), new CloudDispersalRepository(db), + new RoutePlanRepository(db), new WaypointRepository(db)); + Debug.Log("ScenarioManager.Awake: OK"); + } + catch (System.Exception ex) + { + Debug.LogError($"ScenarioManager.Awake FAILED: {ex}"); + } } public SimTask CreateTask(string name, string number) => _service.CreateTask(name, number);