feat: Unity 端接入 DataService — 前端可直接 CRUD 基础数据
SimulationRunner 新增 DataService 属性 SimulationBootstrap 自动创建 DataService 并注入 Runner 前端调用: runner.DataService.GetAllDrones() 等
This commit is contained in:
parent
120f2805ec
commit
e782062377
@ -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<SimulationRunner>();
|
||||
if (Runner == null) Runner = gameObject.AddComponent<SimulationRunner>();
|
||||
else Runner.enabled = true;
|
||||
Runner.DataService = dataService;
|
||||
Runner.LoadAndStart(taskId);
|
||||
Runner.Engine.TimeScale = _timeScale;
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user