using System.Collections.Generic;
using CounterDrone.Core.Models;

namespace CounterDrone.Core.Services
{
    /// <summary>想定管理服务</summary>
    public interface IScenarioService
    {
        SimTask CreateTask(string name, string taskNumber);
        void DeleteTask(string id);
        PagedResult<SimTask> SearchTasks(string keyword, string? dateFrom, string? dateTo, int page, int pageSize);
        TaskFullConfig? GetTaskDetail(string id);

        void SaveScene(string taskId, CombatScene scene);
        void SaveControlZones(string taskId, List<ControlZone> zones);
        void SaveTarget(string taskId, TargetConfig target);
        void SaveDeployment(string taskId, List<EquipmentDeployment> equips);
        void SaveCloudDispersal(string taskId, CloudDispersal cloud);
        void SaveRoute(string taskId, string groupId, RoutePlan route, List<Waypoint> waypoints);
        void UpdateStep(string taskId, int step);
    }
}
