From 7f70cb15d035f0c233b9e62b9e43aa985317c908 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 04 十一月 2024 10:22:45 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/settings/MapSettings.jsx |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/zy-acs-flow/src/map/settings/MapSettings.jsx b/zy-acs-flow/src/map/settings/MapSettings.jsx
index f5c3489..6bc16c2 100644
--- a/zy-acs-flow/src/map/settings/MapSettings.jsx
+++ b/zy-acs-flow/src/map/settings/MapSettings.jsx
@@ -21,16 +21,16 @@
 import CopyDrawer from './CopyDrawer';
 
 const MapSettings = (props) => {
-    const { sprite, setSpriteSettings, onSubmit, width } = props;
+    const { sprite, setSpriteSettings, onSubmit, width, lastCopiedSprites, setLastCopiedSprites } = props;
     const translate = useTranslate();
     const [copyVisible, setCopyVisible] = useState(false);
 
     const { control, handleSubmit, reset, watch } = useForm({
         defaultValues: {
-            x: sprite?.position.x || 0,
-            y: sprite?.position.y || 0,
-            scaleX: sprite?.scale.x || 1,
-            scaleY: sprite?.scale.y || 1,
+            x: sprite?.position?.x || 0,
+            y: sprite?.position?.y || 0,
+            scaleX: sprite?.scale?.x || 1,
+            scaleY: sprite?.scale?.y || 1,
             rotation: (sprite?.rotation * 180) / Math.PI || 0,
             copyDirection: 'right',
             copyCount: 1,
@@ -43,11 +43,11 @@
         if (sprite) {
             setCopyVisible(false);
             reset({
-                x: sprite.position.x,
-                y: sprite.position.y,
-                scaleX: sprite.scale.x,
-                scaleY: sprite.scale.y,
-                rotation: (sprite.rotation * 180) / Math.PI,
+                x: sprite?.position.x,
+                y: sprite?.position.y,
+                scaleX: sprite?.scale.x,
+                scaleY: sprite?.scale.y,
+                rotation: (sprite?.rotation * 180) / Math.PI,
             });
         }
     }, [sprite, reset]);
@@ -313,7 +313,14 @@
                             }}>
                                 {translate('page.map.settings.map.copy.execute')}
                             </Button>
-                            <Button variant="text" color="primary">
+                            <Button variant="text" color="primary" onClick={() => {
+                                if (lastCopiedSprites && lastCopiedSprites.length > 0) {
+                                    lastCopiedSprites.forEach(copiedSprite => {
+                                        Tool.getMapContainer().removeChild(copiedSprite);
+                                    })
+                                    setLastCopiedSprites([]);
+                                }
+                            }}>
                                 {translate('page.map.settings.map.copy.reverse')}
                             </Button>
                         </Stack>
@@ -343,7 +350,7 @@
                         </Stack>
                     </Grid>
                 </Grid>
-            </Box>
+            </Box >
 
             <CopyDrawer
                 open={copyVisible}
@@ -352,9 +359,15 @@
                 }}
                 width={width}
                 sprite={sprite}
+                value={{
+                    copyDirect: watch('copyDirection'),
+                    copyCount: watch('copyCount'),
+                }}
                 handleOnCopy={() => {
 
                 }}
+                setLastCopiedSprites={setLastCopiedSprites}
+                setSpriteSettings={setSpriteSettings}
             />
         </>
     );

--
Gitblit v1.9.1