layer_compass.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. import '../../../widget/compass2.dart';
  2. import 'game_std_controller.dart';
  3. class LayerCompass extends LayerView<GameStdController> {
  4. const LayerCompass({super.key});
  5. @override
  6. Widget build(BuildContext context) {
  7. return Obx(() {
  8. if (viewModel.isShowCompass.value) {
  9. final diameter = viewModel.compassDiameter.value;
  10. final left = (context.width - diameter) / 2;
  11. return Positioned(
  12. left: left,
  13. top: viewModel.compassCenter.dy - diameter / 2,
  14. child: Compass2(
  15. compassRadians: viewModel.instance.compassRadiansFused.value,
  16. mapNorthRadians: viewModel.compassPlantRadian,
  17. nextPointRadians: viewModel.isShowNextCPRadians.value
  18. ? viewModel.compassPlantRadian
  19. : null,
  20. level: viewModel.compassLevel.value,
  21. showDegrees: viewModel.compassShowDegrees,
  22. diameter: diameter,
  23. ));
  24. } else {
  25. return Container();
  26. }
  27. });
  28. }
  29. }