Files
maps-saas/packages/tactical_app/lib/bindings/tactical_binding.dart
T

46 lines
2.5 KiB
Dart

import 'package:get/get.dart';
import '../controllers/artillery_controller.dart';
import '../controllers/hlz_controller.dart';
import '../controllers/isochrone_controller.dart';
import '../controllers/los_controller.dart';
import '../controllers/minefield_controller.dart';
import '../controllers/navigation_controller.dart';
import '../controllers/optical_rangefinder_controller.dart';
import '../controllers/overlays_controller.dart';
import '../controllers/resection_controller.dart';
import '../controllers/symbols_controller.dart';
import '../controllers/tactical_map_controller.dart';
import '../controllers/viewshed_controller.dart';
/// ============================================================================
/// [TacticalBinding] - تهيئة وحقن التبعيات والمتحكمات (GetX Dependency Injection)
/// ============================================================================
/// English:
/// Master GetX Binding registering all tactical operation controllers
/// for seamless dependency injection and lifecycle management across the app.
///
/// العربية:
/// مسجل التبعيات المركزي لـ GetX، يقوم بإنشاء وحقن كافة المتحكمات التكتيكية
/// لضمان استقرار دورة حياة التطبيق وإمكانية الوصول إليها من أي شاشة أو نافذة.
/// ============================================================================
class TacticalBinding extends Bindings {
@override
void dependencies() {
// 1. Core Tactical Sub-Controllers
Get.lazyPut<ArtilleryController>(() => ArtilleryController(), fenix: true);
Get.lazyPut<HlzController>(() => HlzController(), fenix: true);
Get.lazyPut<MinefieldController>(() => MinefieldController(), fenix: true);
Get.lazyPut<IsochroneController>(() => IsochroneController(), fenix: true);
Get.lazyPut<SymbolsController>(() => SymbolsController(), fenix: true);
Get.lazyPut<OverlaysController>(() => OverlaysController(), fenix: true);
Get.lazyPut<LosController>(() => LosController(), fenix: true);
Get.lazyPut<ViewshedController>(() => ViewshedController(), fenix: true);
Get.lazyPut<ResectionController>(() => ResectionController(), fenix: true);
Get.lazyPut<NavigationController>(() => NavigationController(), fenix: true);
Get.lazyPut<OpticalRangefinderController>(() => OpticalRangefinderController(), fenix: true);
// 2. Master Map Orchestrator Controller
Get.lazyPut<TacticalMapController>(() => TacticalMapController(), fenix: true);
}
}