future 1 سال پیش
والد
کامیت
acf6ced80c
2فایلهای تغییر یافته به همراه77 افزوده شده و 5 حذف شده
  1. 4 0
      assets/data/data.ts
  2. 73 5
      assets/script/run/scene_page.ts

+ 4 - 0
assets/data/data.ts

@@ -414,6 +414,7 @@ export class event_item_stop_play_loop_sound{
 export class event_item_delete_drag_other {
 export class event_item_delete_drag_other {
     public widget_id:number = -1;
     public widget_id:number = -1;
     public delete_drag_other_index:number = -1;
     public delete_drag_other_index:number = -1;
+    public widget_list:event_item_delete_drag_other[] = [] //列表
 }
 }
 
 
 export class event_item_play_sound { //播放一个音效
 export class event_item_play_sound { //播放一个音效
@@ -452,6 +453,7 @@ export class event_item_show_new_item extends base_event_item{ // 出现新道
 }
 }
 export class event_item_hide extends base_event_item{ // 隐藏
 export class event_item_hide extends base_event_item{ // 隐藏
     public binding_widget_id:number = -1; //绑定某一个UI
     public binding_widget_id:number = -1; //绑定某一个UI
+    public binding_widget_list:event_widget_more_event_item[] = [] //绑定事件列表
 }
 }
 
 
 export class event_item_delay_exe_event extends base_event_item{ // 延迟多久执行一个事件
 export class event_item_delay_exe_event extends base_event_item{ // 延迟多久执行一个事件
@@ -471,9 +473,11 @@ export class event_start_event_item extends base_event_item{ // 开始的事件
 }
 }
 export class event_active_event_item extends base_event_item{ // 激活控件的事件
 export class event_active_event_item extends base_event_item{ // 激活控件的事件
     public binding_widget_id:number = -1; //绑定事件
     public binding_widget_id:number = -1; //绑定事件
+    public binding_widget_list:event_widget_more_event_item[] = [] //绑定事件列表
 }
 }
 export class event_stop_active_event_item extends base_event_item{ // 不激活控件的事件,停用交互
 export class event_stop_active_event_item extends base_event_item{ // 不激活控件的事件,停用交互
     public binding_widget_id:number = -1; //绑定事件
     public binding_widget_id:number = -1; //绑定事件
+    public binding_widget_list:event_widget_more_event_item[] = [] //绑定事件列表
 }
 }
 export class event_collect_event_item extends base_event_item{ // 收集多个事件完成
 export class event_collect_event_item extends base_event_item{ // 收集多个事件完成
     public event_id_list:number[] = []
     public event_id_list:number[] = []

+ 73 - 5
assets/script/run/scene_page.ts

@@ -1,5 +1,5 @@
 import { _decorator, Color, Component, instantiate, misc, Node, Prefab, Size, Sprite, tween, Tween, UIOpacity, UITransform, Vec3, Widget } from 'cc';
 import { _decorator, Color, Component, instantiate, misc, Node, Prefab, Size, Sprite, tween, Tween, UIOpacity, UITransform, Vec3, Widget } from 'cc';
-import { ani_frame, att_ani_data, attributes_data, event_item, scene_item_data, widget_item_data, zhao_xi_jie_data, zhao_xi_jie_item_data } from '../../data/data';
+import { ani_frame, att_ani_data, attributes_data, event_item, event_item_delete_drag_other, scene_item_data, widget_item_data, zhao_xi_jie_data, zhao_xi_jie_item_data } from '../../data/data';
 import { config } from '../config';
 import { config } from '../config';
 import { tools } from '../tools';
 import { tools } from '../tools';
 import { gameManager } from './gameManager';
 import { gameManager } from './gameManager';
@@ -103,16 +103,84 @@ export class scene_page extends Component {
                 return tools.showToast(`错误的动画配置!id:${this.mData.att.id}-请检查`)
                 return tools.showToast(`错误的动画配置!id:${this.mData.att.id}-请检查`)
             }
             }
         }else if(event.type===config.event_type.delete_drag_other_data){
         }else if(event.type===config.event_type.delete_drag_other_data){
-            let wd = event.event_item_delete_drag_other_data.widget_id
-            let index = event.event_item_delete_drag_other_data.delete_drag_other_index
-            item = this.mWidgetList.get(wd)
+            // let wd = event.event_item_delete_drag_other_data.widget_id
+            // let index = event.event_item_delete_drag_other_data.delete_drag_other_index
+            // item = this.mWidgetList.get(wd)
+            // if(item){
+            //     item.getComponent(widget_drag).deleteOtherDrag(index)
+            // }else{
+            //     tools.showToast("删除拖拽目标配置错误!")
+            // }
+            this.eventDeleteDragOtherData(event)
+        }else if(event.type===config.event_type.active_event) {
+            let data = event.event_item_active_event_data
+            this.eventMoreBindingWidgetList(data, event) 
+        }else if(event.type===config.event_type.stop_active_event) {
+            let data = event.event_item_stop_active_event_data
+            this.eventMoreBindingWidgetList(data, event) 
+        }else if(event.type===config.event_type.hide) {
+            let data = event.event_item_hide_data
+            this.eventMoreBindingWidgetList(data, event)
+        }
+    }
+    eventDeleteDragOtherData(event:event_item){
+        let wd = event.event_item_delete_drag_other_data.widget_id
+        let index = event.event_item_delete_drag_other_data.delete_drag_other_index
+        let other_widget_list = event.event_item_delete_drag_other_data.widget_list
+        if(other_widget_list.length==0) {
+            let item = this.mWidgetList.get(wd)
             if(item){
             if(item){
                 item.getComponent(widget_drag).deleteOtherDrag(index)
                 item.getComponent(widget_drag).deleteOtherDrag(index)
             }else{
             }else{
-                tools.showToast("删除拖拽目标配置错误!")
+                // tools.showToast("删除拖拽目标配置错误!")
+            }
+        } 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;
+            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) {
+        if(data!=null) {
+            if(data.binding_widget_list==null||data.binding_widget_list.length==0) {
+                return
+            }
+            for(let i=0;i<data.binding_widget_list.length;i++) {
+                const element = data.binding_widget_list[i]
+                let e_widget_id = element.binding_widget_id
+                let e_item = this.mWidgetList.get(e_widget_id)
+                if(e_widget_id!=-1){
+                    if(e_item){
+                        e_item.getComponent(widget_base).beActive(e_widget_id,event)
+                    }
+                }
+            }
+        }  
+    }
     on_zhao_bu_tong_finish(widget:zhao_xi_jie_item_data){
     on_zhao_bu_tong_finish(widget:zhao_xi_jie_item_data){
        let item =   this.mWidgetList.get(widget.widget_id)
        let item =   this.mWidgetList.get(widget.widget_id)
        if(item===null){
        if(item===null){