future 1 年間 前
コミット
be76f4fc37

+ 7 - 1
assets/resources/prefab/edit_event.prefab

@@ -27524,7 +27524,7 @@
   },
   {
     "__type__": "cc.Node",
-    "_name": "showToggle",
+    "_name": "showNode",
     "_objFlags": 0,
     "__editorExtras__": {},
     "_parent": {
@@ -28159,6 +28159,9 @@
     "__prefab": {
       "__id__": 1213
     },
+    "showNode": {
+      "__id__": 1183
+    },
     "_id": ""
   },
   {
@@ -29355,6 +29358,9 @@
     "__prefab": {
       "__id__": 1267
     },
+    "editBox_page": {
+      "__id__": 1254
+    },
     "_id": ""
   },
   {

+ 4 - 4
assets/script/config.ts

@@ -5,7 +5,7 @@ const { ccclass, property } = _decorator;
 export class config {
     static debug = true;
     static domain = "https://zcapi.xwrun.com";
-    static is_MAC_edit = false; //目前临时处理:如果是Mac并且浏览器打开了检查时设置为false,正式打包需要设置为true
+    static is_MAC_edit = false; //目前临时处理:如果是Mac并且浏览器打开了检查时设置为true,正式打包需要设置为false
     static select_res_and_control_type = {
         RES_TYPE:0,
         CONTROL_TYPE:1,
@@ -82,8 +82,6 @@ export class config {
         config.clcik_type_map.set(config.clcik_type.click_not_auto_finish,"单击(不自动完成)")
 
         //event_type_map
-        // config.event_type_map.set(config.event_type.more_scene_is_show_arrow_event,"多场景-是否显示箭头事件")
-        // config.event_type_map.set(config.event_type.more_scene_jump_assigned_page_event,"多场景-跳转指定页数事件")
         config.event_type_map.set(config.event_type.be_event,"被动触发事件")
         config.event_type_map.set(config.event_type.delay_exe_event,"延迟时间调用一个事件")
         config.event_type_map.set(config.event_type.active_event,"激活交互")
@@ -97,6 +95,8 @@ export class config {
         config.event_type_map.set(config.event_type.collect_event,"收集事件")
         config.event_type_map.set(config.event_type.change_one_item_status,"改变指定道具资源")
         config.event_type_map.set(config.event_type.switch_scene_event,"多场景-切换场景事件")
+        config.event_type_map.set(config.event_type.more_scene_is_show_arrow_event,"多场景-是否显示箭头事件")
+        config.event_type_map.set(config.event_type.more_scene_jump_assigned_page_event,"多场景-跳转指定页数事件")
         config.event_type_map.set(config.event_type.show_scene_title,"显示场景标签")
         config.event_type_map.set(config.event_type.start_event,"开始事件")
         config.event_type_map.set(config.event_type.fail_event,"失败事件")
@@ -329,7 +329,7 @@ export class config {
         SHOW_TIPS:"SHOW_TIPS",  //显示一个提示
         TOGGLE_YIN_YUE:"TOGGLE_YIN_YUE",  //开关音乐
         MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH:"MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH", //多场景方向按钮点击完成
-
+        MORE_SCENE_FINISH:"MORE_SCENE_FINISH", //多场景完成
     }
     static MSG_CODE = {
         SUCCESS: 10000,

+ 8 - 3
assets/script/edit/event/event_more_scene_is_show_arrow_event.ts

@@ -1,15 +1,20 @@
-import { _decorator, Component, Node } from 'cc';
+import { _decorator, Component, EditBox, Node, Toggle } from 'cc';
 import { event_item_more_scene_is_show_arrow_event } from '../../../data/data';
 const { ccclass, property } = _decorator;
 
 @ccclass('event_more_scene_is_show_arrow_event')
 export class event_more_scene_is_show_arrow_event extends Component {
+    @property(Node) showNode:Node = null;
+    private m_data:event_item_more_scene_is_show_arrow_event = null;
     start() {
-
+        this.showNode.on(Toggle.EventType.TOGGLE, ()=> {
+            this.m_data.is_show = this.showNode.getComponent(Toggle).isChecked
+        })
     }
 
     initView(data:event_item_more_scene_is_show_arrow_event) {
-
+        this.m_data = data
+        this.showNode.getComponent(Toggle).isChecked = data.is_show
     }
 
 }

+ 17 - 2
assets/script/edit/event/event_more_scene_jump_assigned_page_event.ts

@@ -1,15 +1,30 @@
-import { _decorator, Component, Node } from 'cc';
+import { _decorator, Component, EditBox, Node } from 'cc';
 import { event_item_more_scene_jump_assigned_page_event } from '../../../data/data';
 const { ccclass, property } = _decorator;
 
 @ccclass('event_more_scene_jump_assigned_page_event')
 export class event_more_scene_jump_assigned_page_event extends Component {
+    @property(EditBox) editBox_page:EditBox = null;
+    private m_data:event_item_more_scene_jump_assigned_page_event = null;
     start() {
-
+        this.editBox_page.node.on(EditBox.EventType.EDITING_DID_ENDED, ()=> {
+            if(this.editBox_page.string.length>0){
+                this.m_data.page_number = parseInt(this.editBox_page.string)
+                this.updateStatus()
+            }
+        })
     }
 
     initView(data:event_item_more_scene_jump_assigned_page_event) {
+        this.m_data = data
+        this.updateStatus()
+    }
 
+    updateStatus() {
+        if(this.m_data.page_number==-1) {
+        } else {
+            this.editBox_page.string = this.m_data.page_number.toString()
+        }
     }
 }
 

+ 15 - 18
assets/script/run/TaskSchedule/taskServce.ts

@@ -164,24 +164,19 @@ export class taskServce {
                     taskServce.cur_collect_event.event_item_collect_event_data.event_id_list.push(element)
                 }
                 // console.log("collect_event--",taskServce.cur_collect_event)
-                for (let index = 0; index < taskServce.cur_collect_event.event_item_collect_event_data.event_id_list.length; index++) {
-                    const element = taskServce.cur_collect_event.event_item_collect_event_data.event_id_list[index];
-                    let widget_id = taskServce.getEventById(element).event_item_be_event_data.binding_widget_id
-                    let event_data = new event_item
-                    // 激活控件
-                    // let active_event = new event_active_event_item
-                    // active_event.binding_widget_id = widget_id
-                    // event_data.type = config.event_type.active_event
-                    // event_data.event_item_active_event_data = active_event
-                    // 不激活控件
-                    let stop_active_event = new event_stop_active_event_item
-                    stop_active_event.binding_widget_id = widget_id
-                    event_data.type = config.event_type.stop_active_event
-                    event_data.event_item_stop_active_event_data = stop_active_event
-                    // 事件
-                    taskServce.DistributedEvent(event_data)
-                    console.log("event_data--",event_data)
-                }
+                // for (let index = 0; index < taskServce.cur_collect_event.event_item_collect_event_data.event_id_list.length; index++) {
+                //     const element = taskServce.cur_collect_event.event_item_collect_event_data.event_id_list[index];
+                //     let widget_id = taskServce.getEventById(element).event_item_be_event_data.binding_widget_id
+                //     let event_data = new event_item
+                //     // 激活控件
+                //     let active_event = new event_active_event_item
+                //     active_event.binding_widget_id = widget_id
+                //     event_data.type = config.event_type.active_event
+                //     event_data.event_item_active_event_data = active_event
+                //     // 事件
+                //     taskServce.DistributedEvent(event_data)
+                //     console.log("event_data--",event_data)
+                // }
             break;
             // case config.event_type.start_event:
 
@@ -239,8 +234,10 @@ export class taskServce {
             case config.event_type.switch_scene_event:
             break;
             case config.event_type.more_scene_is_show_arrow_event:
+                ClientEvent.dispatchEvent(config.EventRun.NOTICE_EVENT,-11,event)
             break;
             case config.event_type.more_scene_jump_assigned_page_event:
+                ClientEvent.dispatchEvent(config.EventRun.NOTICE_EVENT,-11,event)
             break;
         }
         taskServce.exeNextDelayEvent(event)

+ 7 - 1
assets/script/run/gameManager.ts

@@ -1,6 +1,6 @@
 import { _decorator, AudioClip, AudioSource, Component, Node, Size, Sprite, SpriteFrame, sys, UITransform, Vec3 } from 'cc';
 import { game_run } from './game_run';
-import { attributes_data, LevelItemData, other_widget_finish_listen_item, scene_item_data, sysMessage, task_data, ui_att_item, UserData, widget_item_data } from '../../data/data';
+import { attributes_data, event_item, LevelItemData, other_widget_finish_listen_item, scene_item_data, sysMessage, task_data, ui_att_item, UserData, widget_item_data } from '../../data/data';
 import { config } from '../config';
 import { sceneManager } from './sceneManager';
 import { control } from '../edit/control';
@@ -224,6 +224,7 @@ export class gameManager extends Component {
         ClientEvent.offAll(config.EventRun.ON_SHOW_RULE_BTN)
         ClientEvent.offAll(config.EventRun.ON_BOSS_HURT)
         ClientEvent.offAll(config.EventRun.MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH)
+        ClientEvent.offAll(config.EventRun.MORE_SCENE_FINISH)
 
         ClientEvent.on(config.EventRun.WIDGET_FINISH,this.onWidgetFinishEvent.bind(this),this)
         ClientEvent.on(config.EventRun.WIDGET_FAIL,this.onWidgetFailEvent.bind(this),this)
@@ -233,6 +234,7 @@ export class gameManager extends Component {
         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_BUTTON_CLICK_FINISH,this.onMoreSceneDirectionButtonClickEvent.bind(this),this)
+        ClientEvent.on(config.EventRun.MORE_SCENE_FINISH,this.onMoreSceneFinishEvent.bind(this),this)
     }
 
     public initGR(gr:game_run){
@@ -460,6 +462,10 @@ export class gameManager extends Component {
         taskServce.exeSwitchSceneNextevent(trigger_event_id)
     }
 
+    onMoreSceneFinishEvent(event_item:event_item) {
+        taskServce.exeNextDelayEvent(event_item)
+    }
+
     showFindRuleTips(){
         this.mGameRun.showFindRuleTips()
     }

+ 38 - 4
assets/script/run/scene_layer.ts

@@ -24,6 +24,7 @@ export class scene_layer extends Component {
     private mAudioList:Map<string,Node> = new Map;
     private up_id_string = '_up'
     private next_id_string = '_next'
+    private is_show_cur_directionBtn:boolean = true; //是否显示当前方向按钮,默认显示
     protected start(): void {
         this.node.addComponent(AudioSource)
     }
@@ -48,6 +49,7 @@ export class scene_layer extends Component {
         this.mCurPage = 0
         this.mAudioList.clear()
         this.unscheduleAllCallbacks()
+        this.is_show_cur_directionBtn = true
         ClientEvent.off(config.EventRun.NOTICE_EVENT,this.beActive.bind(this),this)
     }
 
@@ -83,6 +85,28 @@ export class scene_layer extends Component {
             if(event.event_item_stop_play_loop_sound_data!=null){
                 this.deleteAudioItem(event.event_item_stop_play_loop_sound_data.res)
             }
+        }else if(event.type===config.event_type.more_scene_is_show_arrow_event) {
+            let data = event.event_item_more_scene_is_show_arrow_event_data
+            if(data!=null) {
+                if(data.is_show) {
+                    this.changeUpNextDirectionBtn()
+                } else {
+                    this.changeHideAllDirectionBtn()
+                }
+                this.is_show_cur_directionBtn = data.is_show
+                ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_FINISH, event)
+            }
+        }else if(event.type===config.event_type.more_scene_jump_assigned_page_event){
+            let data = event.event_item_more_scene_jump_assigned_page_event_data
+            if(data!=null) {
+                let page_index = data.page_number-1
+                if(page_index>-1 && page_index<this.mScenePages.length) {
+                    gameManager.Singleton.onLaunch(()=>{
+                        this.changePage(page_index)
+                    })
+                    ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_FINISH, event)
+                }
+            }
         }
     }
 
@@ -113,10 +137,20 @@ export class scene_layer extends Component {
     changePage(page:number){
         this.mCurPage = page;
         this.onChangeUpdatePages()
-        this.changeUpNextBtn()
+        this.changeUpNextDirectionBtn()
     }
 
-    changeUpNextBtn() {
+    changeHideAllDirectionBtn(){
+        if(this.is_show_cur_directionBtn==false) {
+            return
+        }
+        this.scenePageDir.getComponent(scene_page_dir).hideAllBtn()
+    }
+
+    changeUpNextDirectionBtn() {
+        if(this.is_show_cur_directionBtn==false) {
+            return
+        }
         if(this.mScenePages.length>1){
             this.scenePageDir.getComponent(scene_page_dir).showAllBtn()
             if(this.mCurPage<=0){
@@ -226,14 +260,14 @@ export class scene_layer extends Component {
             ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH, trigger_event_id)
         })
         if(switch_scene_event_data.delay_time > 0) {
-            this.scenePageDir.getComponent(scene_page_dir).hideAllBtn()
+            this.changeHideAllDirectionBtn()
             let delay_time = switch_scene_event_data.delay_time
             this.scheduleOnce(()=> {
                 if(event_item.event_item_switch_scene_event_data.executeOnlyOnce) {
                     eventTarget.is_finish = true
                 }
                 call()
-                this.changeUpNextBtn()
+                this.changeUpNextDirectionBtn()
             },delay_time)
         } else {
             call()