future 1 年之前
父节点
当前提交
232ea37028

+ 4 - 1
assets/data/data.ts

@@ -368,7 +368,7 @@ export class event_item{
     public event_item_start_event_data:event_start_event_item = null; //
     public event_item_collect_event_data:event_collect_event_item = null; // 
     public event_item_active_event_data:event_active_event_item = null; //
-
+    public event_item_stop_active_event_data:event_stop_active_event_item = null; //
 
     public event_item_fail_event_data:event_item_fail_event = null; //失败事件
     public event_item_play_sound_data:event_item_play_sound = null; //播放一个音效
@@ -457,6 +457,9 @@ export class event_start_event_item extends base_event_item{ // 开始的事件
 export class event_active_event_item extends base_event_item{ // 激活控件的事件
     public binding_widget_id:number = -1; //绑定事件
 }
+export class event_stop_active_event_item extends base_event_item{ // 不激活控件的事件,停用交互
+    public binding_widget_id:number = -1; //绑定事件
+}
 export class event_collect_event_item extends base_event_item{ // 收集多个事件完成
     public event_id_list:number[] = []
 }

文件差异内容过多而无法显示
+ 975 - 225
assets/resources/prefab/edit_event.prefab


+ 3 - 1
assets/script/config.ts

@@ -73,11 +73,12 @@ export class config {
         config.event_type_map.set(config.event_type.top_view,"弹窗")
         config.event_type_map.set(config.event_type.text_sound,"出现文字及语音")
         config.event_type_map.set(config.event_type.change_one_item_status,"改变指定道具资源")
-        config.event_type_map.set(config.event_type.show_new_item,"出现新道具")
+        // config.event_type_map.set(config.event_type.show_new_item,"出现新道具")
         config.event_type_map.set(config.event_type.show_question_select,"出现问题选择")
         config.event_type_map.set(config.event_type.countdown_over,"倒计时结束")
 
         config.event_type_map.set(config.event_type.active_event,"激活交互")
+        config.event_type_map.set(config.event_type.stop_active_event,"停用交互")
         config.event_type_map.set(config.event_type.start_event,"开始事件")
         config.event_type_map.set(config.event_type.collect_event,"收集事件")
         config.event_type_map.set(config.event_type.be_event,"被动触发事件")
@@ -221,6 +222,7 @@ export class config {
         start_event:6, //开始事件
         collect_event:7,//收集事件 多组件完成触发
         active_event:8, //激活
+        stop_active_event:9, //停用交互
         countdown_over:10, //倒计时结束
         be_event:11, //被动触发事件
         hide:12, //触发让控件隐藏

+ 6 - 0
assets/script/edit/event/edit_event.ts

@@ -22,6 +22,7 @@ import { event_show_scene_title } from './event_show_scene_title';
 import { event_scene_ani } from './event_scene_ani';
 import { event_delete_drag_other_data_view } from './event_delete_drag_other_data_view';
 import { event_stop_play_loop_sound } from './event_stop_play_loop_sound';
+import { event_stop_active_event } from './event_stop_active_event';
 const { ccclass, property } = _decorator;
 
 @ccclass('edit_event')
@@ -37,6 +38,7 @@ export class edit_event extends Component {
     @property(Node) countdown_over:Node = null;
 
     @property(Node) active_event:Node = null;
+    @property(Node) stop_active_event:Node = null;
     @property(Node) start_event:Node =null;
     @property(Node) collect_event:Node = null;
     @property(Node) be_event:Node = null;
@@ -164,6 +166,7 @@ export class edit_event extends Component {
         this.widget_map.set(config.event_type.start_event,this.start_event)
         this.widget_map.set(config.event_type.collect_event,this.collect_event)
         this.widget_map.set(config.event_type.active_event,this.active_event)
+        this.widget_map.set(config.event_type.stop_active_event,this.stop_active_event)
         this.widget_map.set(config.event_type.be_event,this.be_event)
         this.widget_map.set(config.event_type.hide,this.hide)
         this.widget_map.set(config.event_type.delay_exe_event,this.delay_exe_event)
@@ -217,6 +220,9 @@ export class edit_event extends Component {
             case config.event_type.active_event: //激活一个控件
                 this.active_event.getComponent(event_active_event).initView(this.m_data.event_item_active_event_data)
             break;
+            case config.event_type.stop_active_event: //不激活一个控件,停用交互
+                 this.stop_active_event.getComponent(event_stop_active_event).initView(this.m_data.event_item_stop_active_event_data)
+            break;
             case config.event_type.be_event: //被动激活一个事件
                 this.be_event.getComponent(event_be_event).initView(this.m_data.event_item_be_event_data)
             break;

+ 43 - 0
assets/script/edit/event/event_stop_active_event.ts

@@ -0,0 +1,43 @@
+import { _decorator, Component, Label, Node } from 'cc';
+import { attributes_data, event_active_event_item, widget_item_data } from '../../../data/data';
+import { Attributes } from '../Attributes';
+import { tools } from '../../tools';
+import { ClientEvent } from '../../clientEvent';
+import { config } from '../../config';
+const { ccclass, property } = _decorator;
+
+@ccclass('event_stop_active_event')
+export class event_stop_active_event extends Component {
+    private m_data:event_active_event_item = null;
+    @property(Node) btn_select_ui:Node = null;
+    @property(Node) lab_name:Node = null;
+    public initView(data:event_active_event_item){
+        this.m_data = data;
+        this.btn_select_ui.on(Node.EventType.TOUCH_END,()=>{
+            let list =  Attributes.Singleton.get_cur_scene_all_only_widget()
+            if(list.length<=0){
+                return tools.showToast("当前场景没有添控件!")
+            }
+            tools.show_select_widget_list(list,(item:widget_item_data)=>{
+                this.m_data.binding_widget_id = item.att.id;
+                this.updateStatus()
+            },this.m_data.binding_widget_id)
+          
+        })
+        this.updateStatus()
+        ClientEvent.on(config.Event.UpdateAttributesToView,this.UpdateAttributesToView,this)
+    }
+    protected onDestroy(): void {
+        ClientEvent.off(config.Event.UpdateAttributesToView,this.UpdateAttributesToView,this)
+    }
+    UpdateAttributesToView(data:attributes_data,update_type:string){
+        if(this.m_data.binding_widget_id===data.id&&update_type===config.attributes_list_type.delete){
+            this.m_data.binding_widget_id = -1;
+            this.updateStatus()
+        }
+    }
+    updateStatus(){
+        this.lab_name.getComponent(Label).string =  this.m_data.binding_widget_id===-1?"当前选择停用激活的控件":`当前选择停用激活的控件id:${this.m_data.binding_widget_id}`
+    }
+}
+

+ 9 - 0
assets/script/edit/event/event_stop_active_event.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.23",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "0225d8ff-1d56-4ca7-9eaa-c9e4b230dee3",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 9 - 0
assets/script/edit/search/search_node.ts

@@ -162,6 +162,15 @@ export class search_node extends Component {
                     }
                 break;
 
+                case config.event_type.stop_active_event:
+                    if(event.event_item_stop_active_event_data.binding_widget_id===widget_id){
+                        let item = instantiate(this.item_prefab)
+                        item.parent = this.content;
+                        item.getComponent(Label).color = Color.BLUE
+                        item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
+                    }
+                break;
+
                 case config.event_type.countdown_over:
                     if(event.event_item_countdown_over_data.binding_widget_id===widget_id){
                         let item = instantiate(this.item_prefab)

+ 4 - 1
assets/script/edit/task/scene_task.ts

@@ -3,7 +3,7 @@ import { tools } from '../../tools';
 import { edit_scene } from '../edit_scene';
 import { ClientEvent } from '../../clientEvent';
 import { config } from '../../config';
-import { da_guai_data, event_active_event_item, event_collect_event_item, event_item, event_item_be_event, event_item_change_one_item_status, event_item_countdown_over, event_item_delay_exe_event, event_item_delete_drag_other, event_item_fail, event_item_fail_event, event_item_hide, event_item_play_ani, event_item_play_sound, event_item_scene_ani, event_item_show_new_item, event_item_show_question_select, event_item_show_scene_title, event_item_stop_play_loop_sound, event_item_success, event_item_text_sound, event_item_top_view, event_start_event_item, guo_ju_qing_data, scene_item_data, task_data, zhao_xi_jie_data, zhao_xi_jie_item_data } from '../../../data/data';
+import { da_guai_data, event_active_event_item, event_collect_event_item, event_item, event_item_be_event, event_item_change_one_item_status, event_item_countdown_over, event_item_delay_exe_event, event_item_delete_drag_other, event_item_fail, event_item_fail_event, event_item_hide, event_item_play_ani, event_item_play_sound, event_item_scene_ani, event_item_show_new_item, event_item_show_question_select, event_item_show_scene_title, event_item_stop_play_loop_sound, event_item_success, event_item_text_sound, event_item_top_view, event_stop_active_event_item, event_start_event_item, guo_ju_qing_data, scene_item_data, task_data, zhao_xi_jie_data, zhao_xi_jie_item_data } from '../../../data/data';
 import { event_item_view } from '../event/event_item_view';
 import { task_zhao_xi_jie } from './task_zhao_xi_jie';
 import { task_guo_ren_wu } from './task_guo_ren_wu';
@@ -216,6 +216,9 @@ export class scene_task extends Component {
             case config.event_type.active_event:
                 new_event.event_item_active_event_data= new event_active_event_item
             break;
+            case config.event_type.stop_active_event:
+                new_event.event_item_stop_active_event_data = new event_stop_active_event_item
+            break;
             case config.event_type.countdown_over:
                 new_event.event_item_countdown_over_data = new event_item_countdown_over
             break;

+ 4 - 0
assets/script/run/TaskSchedule/taskServce.ts

@@ -177,8 +177,12 @@ export class taskServce {
 
             // break;
             case config.event_type.active_event:
+                console.log('active_event active_event active_event')
                 ClientEvent.dispatchEvent(config.EventRun.NOTICE_EVENT,event.event_item_active_event_data.binding_widget_id,event)
             break;
+            case config.event_type.stop_active_event:
+                ClientEvent.dispatchEvent(config.EventRun.NOTICE_EVENT,event.event_item_stop_active_event_data.binding_widget_id,event)
+            break;
             case config.event_type.countdown_over:
                 
             break;

+ 1 - 1
assets/script/run/scene_page.ts

@@ -82,7 +82,7 @@ export class scene_page extends Component {
         if(item){
             item.getComponent(widget_base).beActive(widgetId,event)
         }
-        console.log("scene_page event.type",event.type)
+        console.log("scene_page =",event.type)
         if(event.type===config.event_type.scene_ani){
 
             let ani_id = event.event_item_scene_ani.ani_id;

+ 9 - 1
assets/script/run/ui_layer.ts

@@ -131,7 +131,15 @@ export class ui_layer extends Component {
                     this.createCountDown(time_count)   
                 }
             }
-        }else if(event.type===config.event_type.hide){
+        }else if(event.type===config.event_type.stop_active_event){
+            let time_count = this.mCountDownLlist.get(widgetId)
+            if(time_count!=null){
+                if(this.mAttCountDown==null){
+                    this.createCountDown(time_count)   
+                }
+            }
+        }
+        else if(event.type===config.event_type.hide){
             let ui =  this.mUIList.get(widgetId)
             if(ui){
                 ui.getComponent(ui_base).hide()

+ 3 - 0
assets/script/run/widget/widget_base.ts

@@ -142,6 +142,9 @@ export class widget_base extends Component {
                 break;
                 case config.event_type.show_new_item: //显示自己同时被激活
                     
+                break;
+                case config.event_type.stop_active_event: //停止激活
+                    this.mIsActive = false;
                 break;
                 // case config.event_type.collect_event: //自己被触发后,被收集类给收集
                     

部分文件因为文件数量过多而无法显示