future 1 год назад
Родитель
Сommit
41bcaba9c2

+ 1 - 0
assets/data/data.ts

@@ -84,6 +84,7 @@ export class att_drag_data{
     public is_err_drag_back:boolean = true; //拖拽错误是否回归原位
     public other_drag_list:att_drag_data[] = [];
     public other_widget_finish_listen_list:other_widget_finish_listen_item[] = [];
+    public index:number = -1;
     public remark:string = ''; //备注
     public is_show_inTheEditor:boolean = true; //在编辑器中,是否显示
 }

Разница между файлами не показана из-за своего большого размера
+ 327 - 126
assets/resources/prefab/edit_event.prefab


+ 1 - 1
assets/resources/prefab/select_animation.prefab

@@ -1460,7 +1460,7 @@
     "_contentSize": {
       "__type__": "cc.Size",
       "width": 1920,
-      "height": 1920
+      "height": 1919.9999999999998
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",

+ 10 - 0
assets/script/edit/event/event_delete_drag_other_data_view.ts

@@ -15,6 +15,7 @@ export class event_delete_drag_other_data_view extends Component {
     @property(Node) btn_more:Node = null;
     @property(Node) content:Node = null;
     @property(Prefab) item_more_delete_drag_other_prefab:Prefab = null;
+    @property(Node) btn_clear:Node = null;
     // @property(Node) lab_cur_select_other:Node = null;
     private m_data:event_item_delete_drag_other = null;
     private m_widget_item_data:widget_item_data = null;
@@ -22,6 +23,14 @@ export class event_delete_drag_other_data_view extends Component {
         this.btn_more.on(Node.EventType.TOUCH_END, ()=> {
             this.onClickMoreBtn()
         })
+        this.btn_clear.on(Node.EventType.TOUCH_END, ()=>{
+            tools.show_dialog('清空?', ()=>{
+                this.m_data.widget_id=-1
+                this.m_data.delete_drag_other_index = -1
+                this.edit_other.string = ''
+                this.updateStatus()
+            })
+        })
     }
     public initView(data:event_item_delete_drag_other){
         this.m_data = data;
@@ -64,6 +73,7 @@ export class event_delete_drag_other_data_view extends Component {
         if(this.m_data.widget_id==-1){
             this.lab_cur_select_widget.getComponent(Label).string = "选择控件"
             // this.lab_cur_select_other.getComponent(Label).string = "选择目标"
+            this.btn_select_select_other.active = false;
         }else{
             if(this.m_widget_item_data===null){
                 this.m_widget_item_data = Attributes.Singleton.get_cur_scene_widget_by_id(this.m_data.widget_id)  

+ 37 - 20
assets/script/run/scene_page.ts

@@ -128,32 +128,49 @@ export class scene_page extends Component {
             }
         } else {
             let data_list:event_item_delete_drag_other[] = JSON.parse(JSON.stringify(other_widget_list))
-            let first_data = new event_item_delete_drag_other
-            first_data.widget_id = wd
-            first_data.delete_drag_other_index = index
-            data_list.unshift(first_data)
-            var data_map:Map<number,number> = new Map;
+            if(wd!=-1) {
+                let first_data = new event_item_delete_drag_other
+                first_data.widget_id = wd
+                first_data.delete_drag_other_index = index
+                data_list.unshift(first_data)
+            }
+
             for(let i=0;i<data_list.length;i++) {
                 const element = data_list[i]
                 let wd = element.widget_id
                 let index = element.delete_drag_other_index
-                if(index!=-1) {
-                    let e_item = this.mWidgetList.get(wd)
-                    if(e_item){
-                        let minus_index = 0
-                        if(data_map.get(wd)==null) {
-                            data_map.set(wd,0)
-                        } else {
-                            let v = data_map.get(wd)
-                            minus_index = v+1
-                            data_map.set(wd,minus_index)
-                        }
-                        // console.log('minus_index=',minus_index)
-                        let c_index = index - minus_index
-                        e_item.getComponent(widget_drag).deleteOtherDrag(c_index)
-                    }
+                let item = this.mWidgetList.get(wd)
+                if(item) {
+                    item.getComponent(widget_drag).deleteOtherDrag(index)
                 }
             }
+            // let data_list:event_item_delete_drag_other[] = JSON.parse(JSON.stringify(other_widget_list))
+            // let first_data = new event_item_delete_drag_other
+            // first_data.widget_id = wd
+            // first_data.delete_drag_other_index = index
+            // data_list.unshift(first_data)
+            // var data_map:Map<number,number> = new Map;
+            // for(let i=0;i<data_list.length;i++) {
+            //     const element = data_list[i]
+            //     let wd = element.widget_id
+            //     let index = element.delete_drag_other_index
+            //     if(index!=-1) {
+            //         let e_item = this.mWidgetList.get(wd)
+            //         if(e_item){
+            //             let minus_index = 0
+            //             if(data_map.get(wd)==null) {
+            //                 data_map.set(wd,0)
+            //             } else {
+            //                 let v = data_map.get(wd)
+            //                 minus_index = v+1
+            //                 data_map.set(wd,minus_index)
+            //             }
+            //             // console.log('minus_index=',minus_index)
+            //             let c_index = index - minus_index
+            //             e_item.getComponent(widget_drag).deleteOtherDrag(c_index)
+            //         }
+            //     }
+            // }
         }
     }
     eventMoreBindingWidgetList(data, event:event_item) {

+ 9 - 1
assets/script/run/widget/widget_drag.ts

@@ -21,6 +21,7 @@ export class widget_drag extends widget_base {
             for (let index = 0; index <  this.mData.att.drag_data.other_drag_list.length; index++) {
                 const element =  this.mData.att.drag_data.other_drag_list[index];
                 let item = new att_drag_data;
+                item.index = index;
                 item.drag_pos_x = element.drag_pos_x;
                 item.drag_pos_y = element.drag_pos_y;
                 item.other_event_id = element.other_event_id;
@@ -124,7 +125,14 @@ export class widget_drag extends widget_base {
     }
 
     public deleteOtherDrag(index:number){
-        this.other_drag_list.splice(index,1)
+        // this.other_drag_list.splice(index,1)
+        for (let i = 0; i < this.other_drag_list.length; i++) {
+            const element = this.other_drag_list[i];
+            if(element.index==index) {
+                this.other_drag_list.splice(i,1)
+                break
+            }
+        }
     }
 
     private checkOnecFinish(){

Некоторые файлы не были показаны из-за большого количества измененных файлов