周睿 2 år sedan
förälder
incheckning
5a16e276cf
2 ändrade filer med 17 tillägg och 3 borttagningar
  1. 16 2
      lib/view/home/field_control/field_control.dart
  2. 1 1
      third_party/common_pub

+ 16 - 2
lib/view/home/field_control/field_control.dart

@@ -1,6 +1,8 @@
+import 'package:application/service/api.dart' as pb;
 import 'package:application/widget.dart';
 import 'package:common_pub/ui/map_view/map_view.dart';
 import 'package:common_pub/ui/map_view/view_map_image.dart';
+import 'package:common_pub/ui/map_view/view_map_trace_tail.dart';
 import 'package:common_pub/ui/map_view/view_map_touch.dart';
 import 'package:common_pub/ui/map_view/view_map_user_point.dart';
 import 'package:common_pub/ui/map_view/view_plug_loading.dart';
@@ -54,7 +56,7 @@ class FieldControlPage extends StatelessWidget {
                 child: ViewMapStack(plug: map.plugMap, children: [
               ViewPlugLoading(map.plugMap),
               ViewMapImage(map.plugMap),
-              _ViewTrace(map: map),
+              _ViewTrace(map: map, traceDuration:30.seconds),
               ViewMapTouch(map.plugMap)
             ])),
             _MsgView(),
@@ -67,22 +69,34 @@ class FieldControlPage extends StatelessWidget {
 }
 
 class _ViewTrace extends GetView<FieldControlController> {
-  const _ViewTrace({required this.map});
+  const _ViewTrace({required this.map, required this.traceDuration});
 
   final MapWatchService map;
+  final Duration traceDuration;
+
 
   @override
   Widget build(BuildContext context) {
     return Obx(() {
       final children = <Widget>[];
 
+
       for (final act in map.activeList) {
         for (final user in act.userList) {
           if (user.isHide.value) {
             continue;
           }
           final trace = user.trace.lastOrNull;
+          final traceTailOnMap = <Offset>[];
+          final st = user.gameInfo.gameSaveInfo.startAt.toModel();
+          for(final one in user.trace){
+            if(DateTime.now().difference(st.add(one.ts)) < traceDuration ){
+              traceTailOnMap.add(one.onMap);
+            }
+          }
+
           if (trace != null) {
+            children.add(ViewMapTraceTail(plug: map.plugMap, onMapTrace: traceTailOnMap, color: user.flag.value.color,));
             children.add(ViewMapUserPoint(map.plugMap, trace,
                 info: user.name, color: user.flag.value.color));
           }

+ 1 - 1
third_party/common_pub

@@ -1 +1 @@
-Subproject commit db2ca267d0499d826ecb6934c078635de882d1e8
+Subproject commit 290f6007e9b6bd9c4cd632ef99a78ed38dddde8d