import 'package:dart_jts/dart_jts.dart'; import 'package:flutter/material.dart'; import 'package:flutter_rust_bridge/flutter_rust_bridge.dart'; import 'package:get/get.dart'; import 'package:grpc/grpc.dart'; import 'package:trackoffical_app/exception/exception.dart'; import 'package:trackoffical_app/logger.dart'; import 'package:trackoffical_app/route.dart'; import 'package:trackoffical_app/service/game/game_instance.dart'; import 'package:trackoffical_app/service/game/game_instance_guardian.dart'; import 'package:trackoffical_app/service/game/game_manager_service.dart'; import 'package:trackoffical_app/service/mock.dart'; import 'package:trackoffical_app/styles/theme.dart'; import 'package:trackoffical_app/view/ingame/game_guardian/guardian_watch_game_view.dart'; import '../../service/game/game.dart'; import 'in_game_view.dart'; class InGameLoadingView extends StatefulWidget { const InGameLoadingView({super.key, required this.instance}); final GameInstance instance; @override State createState() { return _InGameLoadingState(); } } class _InGameLoadingState extends State{ @override Widget build(BuildContext context) { return WillPopScope( onWillPop: () async { return false; }, child: Scaffold( body: Center( child: Column(mainAxisSize: MainAxisSize.min, children: [ Row( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.center, children: [ Text('载入中,请稍后', style: context.textTheme.titleLarge), Image.asset('assets/images/loading.gif', height: 48), ]), const SizedBox(height: 12), SizedBox( height: 26, width: 220, child: Obx( () => LinearProgressIndicator(value: widget.instance.loadProgress.value)), ) ])))); } } void main() async { final instance = GameInstanceGuardian(underGuardianId: 1); runApp( GetMaterialApp(theme: appThemeData(), home: InGameLoadingView(instance:instance))); }