Five-layer architecture per DMC_Architektur_und_Design.md: FlightControllerLink abstraction (Mock + MSP stub), protocol-neutral mission domain layer, App-Mode state machine with Ready-to-Fly gate, Drift persistence schema, and placeholder UI screens wired via go_router. App icon generated from design/Y2_pink_dark.svg. Verified with flutter analyze and flutter test. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
25 lines
708 B
Dart
25 lines
708 B
Dart
import '../waypoint/flat_waypoint_list.dart';
|
|
|
|
/// Strategy-Pattern fuer erweiterbare Missionstypen (Architektur-Doku 3.2).
|
|
abstract class Mission {
|
|
String get name;
|
|
|
|
FlatWaypointList toFlatWaypointList();
|
|
}
|
|
|
|
/// Wegpunkt-Streckenmission - aktuell einziger implementierter Missionstyp.
|
|
class TrackMission implements Mission {
|
|
const TrackMission({required this.name, required this.waypoints});
|
|
|
|
@override
|
|
final String name;
|
|
|
|
final List<Waypoint> waypoints;
|
|
|
|
@override
|
|
FlatWaypointList toFlatWaypointList() => FlatWaypointList(waypoints);
|
|
}
|
|
|
|
// SurveyAreaMission (Flaechenabflug) und SearchAreaMission (Suchmuster) sind
|
|
// im Strategy-Pattern vorgesehen, aber noch nicht spezifiziert (Doku 6).
|