diff --git a/src/Unity/Assets/Scripts/Managers/SimulationBootstrap.cs b/src/Unity/Assets/Scripts/Managers/SimulationBootstrap.cs index f2ad479..a11db69 100644 --- a/src/Unity/Assets/Scripts/Managers/SimulationBootstrap.cs +++ b/src/Unity/Assets/Scripts/Managers/SimulationBootstrap.cs @@ -32,9 +32,15 @@ namespace CounterDrone.Unity { var paths = new UnityPathProvider(); var dbm = new DatabaseManager(paths); - var db = dbm.OpenMainDb(); // 自动种子弹药 + 6个[Demo]想定 + var db = dbm.OpenMainDb(); // 自动种子弹药 + 6个[Demo]想定 + 基础数据 SqliteConnectionTracker.Track(db); + var dataService = new DataService( + new AmmunitionSpecRepository(db), new FireUnitSpecRepository(db), + new DroneSpecRepository(db), new SensorSpecRepository(db), + new EnvironmentSpecRepository(db), new FormationTemplateRepository(db), + new RouteTemplateRepository(db)); + var scenario = new ScenarioService( new SimTaskRepository(db), new CombatSceneRepository(db), new ControlZoneRepository(db), new TargetConfigRepository(db), @@ -113,6 +119,7 @@ namespace CounterDrone.Unity Runner = GetComponent(); if (Runner == null) Runner = gameObject.AddComponent(); else Runner.enabled = true; + Runner.DataService = dataService; Runner.LoadAndStart(taskId); Runner.Engine.TimeScale = _timeScale; diff --git a/src/Unity/Assets/Scripts/Managers/SimulationRunner.cs b/src/Unity/Assets/Scripts/Managers/SimulationRunner.cs index 51a49f5..38dd87d 100644 --- a/src/Unity/Assets/Scripts/Managers/SimulationRunner.cs +++ b/src/Unity/Assets/Scripts/Managers/SimulationRunner.cs @@ -32,6 +32,9 @@ namespace CounterDrone.Unity public SimulationEngine Engine => _engine; + private IDataService _dataService; + public IDataService DataService { get => _dataService; set => _dataService = value; } + public void Awake() { _paths = new UnityPathProvider();