future 1 éve
szülő
commit
585c8ffeb1

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

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

+ 41 - 5
assets/script/run/scene_layer.ts

@@ -23,6 +23,7 @@ export class scene_layer extends Component {
     protected mScenePages:scene_item_data[] =[]
     private mCurPage:number = 0;
     private mAudioList:Map<string,Node> = new Map;
+    private mIsClickDirectionButton:boolean = false;
     protected start(): void {
         this.node.addComponent(AudioSource)
     }
@@ -44,8 +45,10 @@ export class scene_layer extends Component {
         this.mSceneTask = null
         this.mTaskEventItemList.clear()
         this.mScenePages = []
-        this.mCurPage = 0;
+        this.mCurPage = 0
         this.mAudioList.clear()
+        this.unscheduleAllCallbacks()
+        this.mIsClickDirectionButton = false
         ClientEvent.off(config.EventRun.NOTICE_EVENT,this.beActive.bind(this),this)
     }
 
@@ -185,6 +188,7 @@ export class scene_layer extends Component {
         if(this.mSceneTask == null) {
             return
         }
+        this.mIsClickDirectionButton = true
         let event_id = -1
         var key = this.mCurPage + ''
         if(isUp) { 
@@ -195,15 +199,47 @@ export class scene_layer extends Component {
         let eventTarget:EventTarget = this.mTaskEventItemList.get(key)
         if(eventTarget != null && eventTarget.is_finish == false) {
             event_id = eventTarget.event_item.event_id
-            if(eventTarget.event_item.event_item_switch_scene_event_data.executeOnlyOnce) {
-                eventTarget.is_finish = true
-            }
         }
-        // console.log('event_id event_id=',event_id)
+        // console.log('event_id=',event_id)
         if(event_id != -1) {
             this.scheduleOnce(()=>{ // 切换场景有延时0.7
                 ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH, event_id)
+                this.checkNextDelayEventUncompleted(eventTarget)
             },0.7)
+        } else {
+            this.mIsClickDirectionButton = false
+        }
+    }
+
+    checkNextDelayEventUncompleted(eventTarget:EventTarget) {
+        if(eventTarget == null) { 
+            this.mIsClickDirectionButton = false
+            return 
+        }
+        let trigger_event_id = eventTarget.event_item.success.trigger_event_id
+        if(trigger_event_id!=-1) {
+            let _event:event_item = taskServce.getEventById(trigger_event_id)
+            if(_event!=null && _event.type == config.event_type.delay_exe_event) {
+                let delay_time = _event.event_item_delay_exe_data.delay_time
+                // console.log('下一个是延迟事件 延迟时间=',delay_time)
+                if(delay_time > 0) { 
+                    this.scheduleOnce(()=> {
+                        if(this.mIsClickDirectionButton) {
+                            if(eventTarget.event_item.event_item_switch_scene_event_data.executeOnlyOnce) {
+                                eventTarget.is_finish = true
+                            }
+                        } else {
+                            // 取消 延迟事件 定时器
+                            gameManager.Singleton.unscheduleAllCallbacks()
+                        }
+                        this.mIsClickDirectionButton = false
+                    },delay_time)
+                } else {
+                    this.mIsClickDirectionButton = false
+                }
+            }
+        } else {
+            this.mIsClickDirectionButton = false
         }
     }