61 lines
2.6 KiB
C#
61 lines
2.6 KiB
C#
using System.Collections.Generic;
|
|
using CounterDrone.Core.Models;
|
|
|
|
namespace CounterDrone.Core.Services
|
|
{
|
|
/// <summary>想定管理服务</summary>
|
|
public interface IScenarioService
|
|
{
|
|
// ═══ Scenario ═══
|
|
Scenario CreateScenario(string name, string scenarioNumber);
|
|
void DeleteScenario(string id);
|
|
Scenario UpdateScenario(Scenario scenario);
|
|
PagedResult<Scenario> SearchScenarios(string keyword, string? dateFrom, string? dateTo, int page, int pageSize);
|
|
ScenarioConfig? GetScenarioDetail(string id);
|
|
|
|
// ═══ CombatScene ═══
|
|
void SaveScene(string scenarioId, CombatScene scene);
|
|
CombatScene GetScene(string scenarioId);
|
|
|
|
// ═══ ControlZone ═══
|
|
void SaveControlZones(string scenarioId, List<ControlZone> zones);
|
|
List<ControlZone> GetControlZones(string scenarioId);
|
|
void DeleteControlZone(string id);
|
|
|
|
// ═══ ScenarioDrone ═══
|
|
ScenarioDrone SaveScenarioDrone(string scenarioId, ScenarioDrone drone);
|
|
ScenarioDrone AddScenarioDrone(string scenarioId, ScenarioDrone drone);
|
|
void UpdateScenarioDrone(ScenarioDrone drone);
|
|
void DeleteScenarioDrone(string id);
|
|
List<ScenarioDrone> GetScenarioDrones(string scenarioId);
|
|
|
|
// ═══ ScenarioUnit ═══
|
|
void SaveDeployment(string scenarioId, List<ScenarioUnit> equips);
|
|
ScenarioUnit AddDeploymentUnit(string scenarioId, ScenarioUnit unit);
|
|
void UpdateDeploymentUnit(ScenarioUnit unit);
|
|
void DeleteDeploymentUnit(string id);
|
|
List<ScenarioUnit> GetDeploymentUnits(string scenarioId);
|
|
|
|
// ═══ Detection ═══
|
|
void AddDetection(string scenarioId, ScenarioUnit detection);
|
|
void DeleteDetection(string detectionId);
|
|
List<ScenarioUnit> GetDetections(string scenarioId);
|
|
|
|
// ═══ CloudDispersal ═══
|
|
void SaveCloudDispersal(string scenarioId, CloudDispersal cloud);
|
|
CloudDispersal GetCloudDispersal(string scenarioId);
|
|
void DeleteCloudDispersal(string scenarioId);
|
|
|
|
// ═══ Route & Waypoint ═══
|
|
void SaveRoute(string scenarioId, string waveId, RoutePlan route, List<Waypoint> waypoints);
|
|
List<RoutePlan> GetRoutes(string scenarioId);
|
|
void DeleteRoute(string id);
|
|
List<Waypoint> GetWaypoints(string scenarioId);
|
|
List<Waypoint> GetWaypointsByWave(string scenarioId, string waveId);
|
|
void DeleteWaypoint(string id);
|
|
|
|
// ═══ Misc ═══
|
|
void UpdateStep(string scenarioId, int step);
|
|
}
|
|
}
|