future 1 tahun lalu
induk
melakukan
d8b75ad260

+ 0 - 1
assets/data/data.ts

@@ -390,7 +390,6 @@ export class zhao_xi_jie_data{
     public tip_type:number = config.zhao_xi_jie_tip_type.select_tips;
     public widget_id_list:zhao_xi_jie_item_data[] = []
     public finish_event_id:number = -1; //全部找到之后执行的事件
-    static finish_widget_hidden_delay_time = 0; // 全部找到后组件隐藏延迟时间(无服务器返回,自主添加)
 }
 export class guo_ju_qing_not_rule_data { //先创建数据模型,目前没有属性
 }

+ 9 - 1
assets/script/edit/event/event_item_view.ts

@@ -1,4 +1,4 @@
-import { _decorator, Component, Label, Node, Sprite, Toggle, UITransform } from 'cc';
+import { _decorator, Color, Component, Label, Node, Sprite, Toggle, UITransform } from 'cc';
 import { event_item, event_item_change_one_item_status } from '../../../data/data';
 import { tools } from '../../tools';
 import { config } from '../../config';
@@ -31,6 +31,14 @@ export class event_item_view extends Component {
         })
       
     }
+
+    unselectBgColor(){
+        this.node.getComponent(Sprite).color = new Color().fromHEX("#9EB2F1")
+    }
+
+    selectBgColor(){
+        this.node.getComponent(Sprite).color = Color.RED
+    }
 }
 
 

+ 18 - 3
assets/script/edit/task/scene_task.ts

@@ -1,4 +1,4 @@
-import { _decorator, Component, instantiate, Label, Layers, Layout, Node, Prefab, ScrollView, UITransform, Vec2, Vec3 } from 'cc';
+import { _decorator, Component, instantiate, Label, Layers, Layout, Node, Prefab, ScrollView, Tween, tween, UITransform, Vec2, Vec3 } from 'cc';
 import { tools } from '../../tools';
 import { edit_scene } from '../edit_scene';
 import { ClientEvent } from '../../clientEvent';
@@ -313,6 +313,9 @@ export class scene_task extends Component {
         if(event_content_top<0) { event_content_top = Math.abs(event_content_top) }
         event_content_top = event_content_top + rect.height + 100
 
+        let item_height:number = 200
+        let item_spacing_y:number = 20
+
         let task_data = this.getTaskData()
         let data_list = task_data.event_list
         let check_yes = false
@@ -330,7 +333,7 @@ export class scene_task extends Component {
             if(check_yes) {
                 let c_index = (data_list.length-1)-index
                 let c_row = Math.round(c_index / 2)
-                let c_spacing_y = c_row * 20
+                let c_spacing_y = c_row * item_spacing_y
                 var is_row_count = 1
                 var is_jishu:boolean = true //是否是奇数
                 if(data_list.length%2==0) {
@@ -339,10 +342,22 @@ export class scene_task extends Component {
                 if(is_jishu==false&&index%2==0) {
                     is_row_count = 2
                 }
-                let c_item_height = (c_row - is_row_count) * 200
+                let c_item_height = (c_row - is_row_count) * item_height
                 let c_offset_y = c_spacing_y + c_item_height + event_content_top
                 this.node.getComponent(ScrollView).scrollToOffset(new Vec2(0, c_offset_y))
                 this.search_node.getComponent(Search).showTip(element)
+
+                let c_node = this.event_content.children[index].getComponent(event_item_view)
+                if(c_node!=null) {
+                    this.scheduleOnce(()=>{
+                        c_node.node.setScale(1.2,1.2)
+                        c_node.selectBgColor()
+                        tween(c_node).delay(0.35).call(()=>{
+                            c_node.node.setScale(1,1)
+                            c_node.unselectBgColor()
+                        }).start()
+                    },0.15)
+                }
                 break
             }     
         }

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

@@ -18,6 +18,7 @@ export class taskServce {
     private static cur_collect_event:event_item = null;
     public static guo_ju_qing_binding_event_id:number = -1;
 
+    private static curZhaoXiJieIsFinishAll:boolean = false;//当前找细节是否全部完成
 
     //子场景
     private static mChildSceneData:task_data = null;
@@ -57,6 +58,7 @@ export class taskServce {
         taskServce.finishZhaoXiJie.clear();
         taskServce.cur_collect_event = null;
         taskServce.guo_ju_qing_binding_event_id = -1;
+        taskServce.curZhaoXiJieIsFinishAll = false;
     }
 
     public static initZhaoXiJieTask(){
@@ -409,17 +411,26 @@ export class taskServce {
             }
         }
 
+        taskServce.curZhaoXiJieIsFinishAll = isFinish
         if(isFinish){
             let id =taskServce.mTaskData._zhao_xi_jie_data.finish_event_id;
-            ClientEvent.dispatchEvent(config.EventRun.ON_ZHAO_BU_TONG_ALL_FINISH, taskServce.mTaskData._zhao_xi_jie_data)
             if(id==-1){
                 return tools.showToast("未设置全部找完任务的下一个事件!")
             }else{
                 taskServce.DistributedEvent(taskServce.getEventById(id))
             }
         }
+    }
 
+    public static checkFinishAllZhaoXiJieTask() {
+        if(taskServce.mTaskData.type!=config.task_type.zhao_xi_jie) {
+            return
+        }
+        if(taskServce.curZhaoXiJieIsFinishAll) {
+            ClientEvent.dispatchEvent(config.EventRun.ON_ZHAO_BU_TONG_ALL_FINISH, taskServce.mTaskData._zhao_xi_jie_data)
+        }
     }
+
     // public static onWidgetHideEvent(widget_id:number){ 
     //     let event = this.exeHideWidgeTaskDic.get(widget_id)
     //     if(!event){

+ 9 - 12
assets/script/run/scene_page.ts

@@ -189,19 +189,16 @@ export class scene_page extends Component {
        item.getComponent(widget_base).showZhaoButongFinishStatus()
     }
     on_zhao_bu_tong_all_finish(data: zhao_xi_jie_data) {
-        let delay_time = zhao_xi_jie_data.finish_widget_hidden_delay_time * 1000
-        setTimeout(()=> {
-            let widget_list = gameManager.getWidgetList(this.mData)
-            for (let index = 0; index < widget_list.length; index++) {
-                const widget_data = widget_list[index];
-                if(widget_data.type == config.Widget_Type_List.CLICK_TYPE || 
-                    widget_data.type == config.Widget_Type_List.SLIDE_TYPE ||
-                    widget_data.type == config.Widget_Type_List.DRAG_TYPE) {
-                    let item =  this.mWidgetList.get(widget_data.att.id)
-                    item.getComponent(widget_base).hideZhaoButongFinishStatus()
-                }
+        let widget_list = gameManager.getWidgetList(this.mData)
+        for (let index = 0; index < widget_list.length; index++) {
+            const widget_data = widget_list[index];
+            if(widget_data.type == config.Widget_Type_List.CLICK_TYPE || 
+                widget_data.type == config.Widget_Type_List.SLIDE_TYPE ||
+                widget_data.type == config.Widget_Type_List.DRAG_TYPE) {
+                let item =  this.mWidgetList.get(widget_data.att.id)
+                item.getComponent(widget_base).hideZhaoButongFinishStatus()
             }
-        }, delay_time)
+        }
     }
     public initViewAtt(){
         if(this.mData.is_full_screen){

+ 1 - 4
assets/script/run/tips/ui_manifestations.ts

@@ -42,10 +42,7 @@ export class ui_manifestations extends Component {
         }
     }
     on_zhao_bu_tong_all_finish(data: zhao_xi_jie_data) {
-        let delay_time = zhao_xi_jie_data.finish_widget_hidden_delay_time * 1000
-        setTimeout(()=> {
-            this.node.active = false
-        }, delay_time)
+        this.node.active = false
     }
     onItemClick(){
         this.btn_single_click_hide_tip.active = true;

+ 2 - 0
assets/script/run/ui/sound_text_content.ts

@@ -3,6 +3,7 @@ import { att_text_sound_data, event_item } from '../../../data/data';
 import { gameManager } from '../gameManager';
 import { ClientEvent } from '../../clientEvent';
 import { config } from '../../config';
+import { taskServce } from '../TaskSchedule/taskServce';
 const { ccclass, property } = _decorator;
 
 @ccclass('sound_text_content')
@@ -78,6 +79,7 @@ export class sound_text_content extends Component {
         this.node.off(AudioSource.EventType.ENDED);
         this.node.active = false;
         ClientEvent.dispatchEvent(config.EventRun.WIDGET_FINISH,this.mWidgetId)
+        taskServce.checkFinishAllZhaoXiJieTask()
     }
 }