future 1 anno fa
parent
commit
e87e57ebca

+ 1 - 1
assets/script/config.ts

@@ -310,7 +310,7 @@ export class config {
         ON_WIN:"ON_WIN",  //胜利
         SHOW_TIPS:"SHOW_TIPS",  //显示一个提示
         TOGGLE_YIN_YUE:"TOGGLE_YIN_YUE",  //开关音乐
-        MORE_SCENE_DIRECTION_CLICK_FINISH:"MORE_SCENE_DIRECTION_CLICK_FINISH", //多场景方向点击完成
+        MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH:"MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH", //多场景方向按钮点击完成
 
     }
     static MSG_CODE = {

+ 9 - 9
assets/script/edit/event/edit_event.ts

@@ -230,31 +230,31 @@ export class edit_event extends Component {
                 this.be_event.getComponent(event_be_event).initView(this.m_data.event_item_be_event_data)
             break;
             case config.event_type.hide: //被动激活一个事件
-            this.hide.getComponent(event_hide).initView(this.m_data.event_item_hide_data)
+                this.hide.getComponent(event_hide).initView(this.m_data.event_item_hide_data)
             break;
             case config.event_type.delay_exe_event: //被动激活一个事件
-            this.delay_exe_event.getComponent(event_delay_exe_event).initView(this.m_data.event_item_delay_exe_data)
+                this.delay_exe_event.getComponent(event_delay_exe_event).initView(this.m_data.event_item_delay_exe_data)
             break;
             case config.event_type.fail_event: //失败事件
-            this.fail_event.getComponent(event_fail_event).initView(this.m_data.event_item_fail_event_data)
+                this.fail_event.getComponent(event_fail_event).initView(this.m_data.event_item_fail_event_data)
             break;
             case config.event_type.play_sound: //播放一个音效
-            this.play_sound.getComponent(event_play_sound).initView(this.m_data.event_item_play_sound_data)
+                this.play_sound.getComponent(event_play_sound).initView(this.m_data.event_item_play_sound_data)
             break;
             case config.event_type.show_scene_title: //显示一个场景标签
-            this.show_scene_title.getComponent(event_show_scene_title).initView(this.m_data.event_item_show_scene_title_data)
+                this.show_scene_title.getComponent(event_show_scene_title).initView(this.m_data.event_item_show_scene_title_data)
             break;
             case config.event_type.scene_ani: //
-            this.scene_ani.getComponent(event_scene_ani).initView(this.m_data.event_item_scene_ani)
+                this.scene_ani.getComponent(event_scene_ani).initView(this.m_data.event_item_scene_ani)
             break;
             case config.event_type.delete_drag_other_data: //
-            this.delete_drag_other_data.getComponent(event_delete_drag_other_data_view).initView(this.m_data.event_item_delete_drag_other_data)
+                this.delete_drag_other_data.getComponent(event_delete_drag_other_data_view).initView(this.m_data.event_item_delete_drag_other_data)
             break;
             case config.event_type.stop_play_loop_sound: //
-            this.stop_play_loop_sound.getComponent(event_stop_play_loop_sound).initView(this.m_data.event_item_stop_play_loop_sound_data)
+                this.stop_play_loop_sound.getComponent(event_stop_play_loop_sound).initView(this.m_data.event_item_stop_play_loop_sound_data)
             break;
             case config.event_type.switch_scene_event:
-            this.switch_scene_event.getComponent(event_switch_scene_event).initView(this.m_data.event_item_switch_scene_event_data)
+                this.switch_scene_event.getComponent(event_switch_scene_event).initView(this.m_data.event_item_switch_scene_event_data)
             break;
         }
     }

+ 13 - 2
assets/script/edit/search/search_node.ts

@@ -137,8 +137,19 @@ export class search_node extends Component {
             c_text = `${c_event_item.event_item_stop_play_loop_sound_data.res}`
             break;
             case config.event_type.switch_scene_event://20切换场景
-            c_title = '停止一个音效'
-            c_text = '方向方向方向方向方向' //`${}`
+            c_title = '切换场景按钮'
+            let direction = c_event_item.event_item_switch_scene_event_data.direction
+            let direction_str = '按钮-无'
+            if(direction == config.switch_scene_page_direction.up) {
+                direction_str = '按钮-上'
+            } else if(direction == config.switch_scene_page_direction.down) {
+                direction_str = '按钮-下'
+            } else if(direction == config.switch_scene_page_direction.left) {
+                direction_str = '按钮-左'
+            } else if(direction == config.switch_scene_page_direction.right) {
+                direction_str = '按钮-右'
+            }
+            c_text = `${direction_str} ${c_event_item.event_item_switch_scene_event_data.binding_event_id}`
             break;
 
         }   

+ 1 - 2
assets/script/run/TaskSchedule/taskServce.ts

@@ -230,8 +230,7 @@ export class taskServce {
                 ClientEvent.dispatchEvent(config.EventRun.NOTICE_EVENT,-11,event)
             break;
             case config.event_type.switch_scene_event:
-                console.log('切换场景 切换场景 切换场景')
-                // ClientEvent.dispatchEvent(config.EventRun.NOTICE_EVENT,event.event_item_switch_scene_event_data,event)
+                ClientEvent.dispatchEvent(config.EventRun.NOTICE_EVENT,event.event_item_switch_scene_event_data.binding_event_id,event)
             break;
 
         }

+ 8 - 4
assets/script/run/gameManager.ts

@@ -223,7 +223,7 @@ export class gameManager extends Component {
         ClientEvent.offAll(config.EventRun.ON_COUNT_DOWN_START)
         ClientEvent.offAll(config.EventRun.ON_SHOW_RULE_BTN)
         ClientEvent.offAll(config.EventRun.ON_BOSS_HURT)
-        ClientEvent.offAll(config.EventRun.MORE_SCENE_DIRECTION_CLICK_FINISH)
+        ClientEvent.offAll(config.EventRun.MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH)
 
         ClientEvent.on(config.EventRun.WIDGET_FINISH,this.onWidgetFinishEvent.bind(this),this)
         ClientEvent.on(config.EventRun.WIDGET_FAIL,this.onWidgetFailEvent.bind(this),this)
@@ -232,7 +232,7 @@ export class gameManager extends Component {
         ClientEvent.on(config.EventRun.TOP_VIEW_FAIL,this.onUiFailEvent.bind(this),this)
         ClientEvent.on(config.EventRun.ON_COUNT_DOWN_FAIL,this.onCountDownFailEvent.bind(this),this)
         ClientEvent.on(config.EventRun.ON_COUNT_DOWN_START,this.onStartCountDownEvent.bind(this),this)
-        ClientEvent.on(config.EventRun.MORE_SCENE_DIRECTION_CLICK_FINISH,this.onMoreSceneDirectionClickFinish.bind(this),this)
+        ClientEvent.on(config.EventRun.MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH,this.onMoreSceneDirectionButtonClickEvent.bind(this),this)
     }
 
     public initGR(gr:game_run){
@@ -303,6 +303,10 @@ export class gameManager extends Component {
         }
     }
 
+    public loadSceneTask(data: task_data) {
+        this.mGameRun.loadSceneTask(data)
+    }
+
     public loadScene(pages: scene_item_data[],type:number){
         this.mGameRun.loadSceneLayer(pages,type)
     }
@@ -452,8 +456,8 @@ export class gameManager extends Component {
         taskServce.extEventByEventId(event_id)
     }
 
-    onMoreSceneDirectionClickFinish(previous_page: number, cur_page:number, is_up_page:boolean){
-        console.log('多场景方向点击完成   上一页=', previous_page, '当前页数=',cur_page, 'is_up_page=',is_up_page)
+    onMoreSceneDirectionButtonClickEvent(event_id:number){
+        taskServce.extEventByEventId(event_id)
     }
 
     showFindRuleTips(){

+ 4 - 0
assets/script/run/game_run.ts

@@ -85,6 +85,10 @@ export class game_run extends Component {
         })
     }
 
+    public loadSceneTask(data:task_data) {
+        this.scene_layer.getComponent(scene_layer).initSceneTask(data)
+    }
+
     public loadSceneLayer(pages:scene_item_data[],type:number){
         this.scene_layer.getComponent(scene_layer).initScene(pages,type)
     }

+ 1 - 0
assets/script/run/sceneManager.ts

@@ -103,6 +103,7 @@ export class sceneManager extends Component {
             throw "不可以为空"
         }else{
             this.stopMusic()
+            this.mGameManager.loadSceneTask(data._task_data)
             this.mGameManager.loadScene(this.mPageList,data.type)
             for (let index = 0; index < data.page_list.length; index++) {
                 const element = data.page_list[index];

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

@@ -1,10 +1,11 @@
 import { _decorator, AudioSource, Component, instantiate, Node, Prefab, Widget } from 'cc';
-import { event_item, scene_item_data } from '../../data/data';
+import { event_item, event_item_switch_scene_event, scene_item_data, task_data } from '../../data/data';
 import { scene_page } from './scene_page';
 import { scene_page_dir } from './scene_page_dir';
 import { ClientEvent } from '../clientEvent';
 import { config } from '../config';
 import { gameManager } from './gameManager';
+import { taskServce } from './TaskSchedule/taskServce';
 const { ccclass, property } = _decorator;
 
 @ccclass('scene_layer')
@@ -12,12 +13,19 @@ export class scene_layer extends Component {
     @property(Node) content:Node = null;
     @property(Prefab) scenePagePrefab:Prefab = null;
     @property(Node) scenePageDir:Node = null;
+    protected mSceneTask:task_data = null;
+    private mTaskEventItemList:event_item[] = []
     protected mScenePages:scene_item_data[] =[]
     private mCurPage:number = 0;
     private mAudioList:Map<string,Node> = new Map;
     protected start(): void {
         this.node.addComponent(AudioSource)
     }
+    public initSceneTask(data:task_data) {
+        this.mSceneTask = data
+        this.getTaskSwitchSceneEventList()
+    }
+    
     public initScene(pages:scene_item_data[],type:number){
         ClientEvent.on(config.EventRun.NOTICE_EVENT,this.beActive.bind(this),this)
         this.mScenePages = pages;
@@ -147,27 +155,68 @@ export class scene_layer extends Component {
     }
 
     onUp(){
-        let cur_page = this.mCurPage
         let up_page = this.mCurPage -1;
         if(up_page>=0){
+            this.onClickCurPageDirectionButton(true)
             gameManager.Singleton.onLaunch(()=>{
                 this.changePage(up_page)
-                // ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_DIRECTION_CLICK_FINISH, cur_page, up_page, true)
             })
         }
     }
 
     onNext(){
-        let cur_page = this.mCurPage
         let next_page = this.mCurPage +1;
         if(next_page<this.mScenePages.length){
+            this.onClickCurPageDirectionButton(false)
             gameManager.Singleton.onLaunch(()=>{
                 this.changePage(next_page)
-                // ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_DIRECTION_CLICK_FINISH, cur_page, next_page, true)
             })
         }
     }
 
+    onClickCurPageDirectionButton(isUp:boolean) {
+        if(this.mSceneTask == null) {
+            return
+        }
+        let cur_page = this.mCurPage
+        let event_id = -1
+        for(let i = 0; i<this.mTaskEventItemList.length; i++) {
+            let element = this.mTaskEventItemList[i]
+            let element_switch_scene_event_data:event_item_switch_scene_event = element.event_item_switch_scene_event_data
+            if(element_switch_scene_event_data.binding_page_index == cur_page) {
+                if(isUp) {
+                    if(element_switch_scene_event_data.direction == config.switch_scene_page_direction.up || element_switch_scene_event_data.direction == config.switch_scene_page_direction.left) {
+                        event_id = element.event_id
+                        break
+                    }
+                } else {
+                    if(element_switch_scene_event_data.direction == config.switch_scene_page_direction.down || element_switch_scene_event_data.direction == config.switch_scene_page_direction.right) {
+                        event_id = element.event_id
+                        break
+                    }
+                }
+            }
+        }
+        if(event_id != -1) {
+            // 切换场景有延时0.7
+            this.scheduleOnce(()=>{
+                ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH, event_id)
+            },0.7)
+        }
+    }
+
+    getTaskSwitchSceneEventList() {
+        if(this.mSceneTask == null) {
+            return
+        }
+        for(let i = 0; i < this.mSceneTask.event_list.length; i++) {
+            let element:event_item = this.mSceneTask.event_list[i]
+            if(element.type == config.event_type.switch_scene_event && element.event_item_switch_scene_event_data != null) {
+                this.mTaskEventItemList.push(element)
+            }
+        }
+    }
+
     initSceneDir(type:number){
         if(this.mScenePages.length>1){
             this.scenePageDir.getComponent(scene_page_dir).initView(type,this.onUp.bind(this),this.onNext.bind(this))