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(), fenix: true); Get.lazyPut(() => HlzController(), fenix: true); Get.lazyPut(() => MinefieldController(), fenix: true); Get.lazyPut(() => IsochroneController(), fenix: true); Get.lazyPut(() => SymbolsController(), fenix: true); Get.lazyPut(() => OverlaysController(), fenix: true); Get.lazyPut(() => LosController(), fenix: true); Get.lazyPut(() => ViewshedController(), fenix: true); Get.lazyPut(() => ResectionController(), fenix: true); Get.lazyPut(() => NavigationController(), fenix: true); Get.lazyPut(() => OpticalRangefinderController(), fenix: true); // 2. Master Map Orchestrator Controller Get.lazyPut(() => TacticalMapController(), fenix: true); } }