map_controller.dart 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import 'dart:typed_data';
  2. import 'package:common_pub/model.dart';
  3. import 'package:common_pub/plug_view/plug_view.dart';
  4. import 'package:get/get.dart';
  5. import 'package:trackoffical_app/service/api.dart' as api;
  6. import '../../utils.dart';
  7. class MapController extends GetxController{
  8. final plugMap = PlugMap();
  9. final plugManager = PlugManager();
  10. final isLoading = true.obs;
  11. @override
  12. void onReady() {
  13. super.onReady();
  14. _load();
  15. }
  16. Future<void> _load() async {
  17. plugManager.addPlugs([
  18. plugMap
  19. ]);
  20. final args = Get.arguments;
  21. tryCatchApi(() async {
  22. // TODO 获取地图md5
  23. final md5 = Uint8List(0);
  24. plugMap.gameMap.md5=md5;
  25. plugMap.gameMap.readerBuilder=()async{
  26. final bin = await api.ApiService.to.getBinReaderByMd5(md5);
  27. return BinReader(
  28. data: bin.reader.data,
  29. length: bin.reader.length,
  30. ext: bin.ext,
  31. nonce: bin.nonce,);
  32. };
  33. plugManager.init();
  34. isLoading.value = false;
  35. }, onError: (e) {
  36. Get.back();
  37. return false;
  38. });
  39. }
  40. }