import 'layer_cp_start_bubble.dart'; import 'layer_map_ruler.dart'; import 'layer_warn.dart'; import 'layer_compass.dart'; import 'layer_cp_touch.dart'; import 'layer_location.dart'; import '../layer/layer_cp.dart'; import 'layer_front_ui.dart'; import '../layer/layer_map.dart'; import '../layer/layer_map_touch.dart'; import '../layer/layer_trace.dart'; import 'game_std_controller.dart'; class GameStdViewEMap extends LayerView{ const GameStdViewEMap({super.key}); @override Widget build(BuildContext context) { return Obx((){ final children = [ const SizedBox(width: double.infinity, height: double.infinity), ]; if(viewModel.isWidgetInit){ children.add(const LayerMap()); if(viewModel.isShowTrace.value && viewModel.isEnableUserLocationState.value){ children.add(LayerTrace( onMapTrace: viewModel.instance.myTrace, color: Colors.red)); } children.addAll([ LayerCP( isHideRouteBeforeStart: !viewModel.isEnableRoutePreview.value, wantList: viewModel.instance.model.controlPointWantSequence, nextPlanCPIndex: viewModel.instance.model.nextPlanPointIndex.value, numRadians: viewModel.compassPlantRadian, ), const LayerCPStartBubble(), ]); if(viewModel.isEnableUserLocationState.value){ children.add(const LayerLocation()); } children.addAll([ const LayerMapRuler(), const LayerCompass(), const LayerWarn(), const LayerMapTouch(), const LayerCPTouch(), const LayerFrontUI(), ]); } return Scaffold( backgroundColor: const Color(0xffd6d6d6), body: Stack( key: viewModel.mapWidgetKey, alignment: Alignment.topLeft, children: children ), ); }); } }