future 1 year ago
parent
commit
8025f31405
3 changed files with 49 additions and 0 deletions
  1. 4 0
      assets/data/data.ts
  2. 1 0
      assets/script/config.ts
  3. 44 0
      assets/script/run/TaskSchedule/taskServce.ts

+ 4 - 0
assets/data/data.ts

@@ -425,6 +425,7 @@ export class event_item{
     public event_item_collect_event_data:event_collect_event_item = null; // 
     public event_item_collect_event_score_data:event_collect_event_score_item = null; // 
     public event_item_collect_widget_score_data:event_collect_widget_score_item = null; // 
+    public event_item_delete_collect_widget_score_assigned_widget_data:event_delete_collect_widget_score_assigned_widget_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; //
 
@@ -547,6 +548,9 @@ export class event_collect_widget_score_item extends base_event_item { //收集
     public total_score:number = 0; //分数
     public max_score:number = 0;   //最大分数
 }
+export class event_delete_collect_widget_score_assigned_widget_item extends base_event_item { //删除收集控件-分数的指定控件
+    public widget_id_list:number[] = []
+}
 export class event_item_countdown_over extends base_event_item{ //倒计时结束
     public binding_widget_id:number = -1; //绑定某一个UI
     public binding_fail_event_id:number = -1; //失败事件

+ 1 - 0
assets/script/config.ts

@@ -242,6 +242,7 @@ export class config {
         top_view_hide:23,//弹窗隐藏
         collect_event_score:24, //收集事件-分数
         collect_widget_score:25, //收集多个控件-分数
+        delete_collect_widget_score_assigned_widget:26, //删除收集控件-分数的指定控件
         event_group:100, //事件组
     }
 

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

@@ -264,6 +264,9 @@ export class taskServce {
                     return
                 }
             break;
+            case config.event_type.delete_collect_widget_score_assigned_widget:
+                this.deleteCollectWidgetScoreAssignedWidget(event)
+            break;
             case config.event_type.active_event:
                 ClientEvent.dispatchEvent(config.EventRun.NOTICE_EVENT,event.event_item_active_event_data.binding_widget_id,event)
             break;
@@ -480,6 +483,47 @@ export class taskServce {
         this.calculateCurrentCollectEventScore(widget_id, score)
     }
 
+    // 删除收集控件-分数的指定控件
+    private static deleteCollectWidgetScoreAssignedWidget(event:event_item) {
+        if(taskServce.cur_collect_widget_score==null) {
+            return
+        }
+        if(taskServce.mTaskData==null){
+            return
+        }
+        let c_data = taskServce.cur_collect_widget_score.event_item_collect_widget_score_data
+        let event_data = event.event_item_delete_collect_widget_score_assigned_widget_data
+        // console.log(`当前收集控件-分数${c_data.widget_id_list}    删除收集控件-分数的指定控件${event_data.widget_id_list}`)
+        if(c_data.widget_id_list.length>0) {
+            for (let index = 0; index < c_data.widget_id_list.length; index++) {
+                const element = c_data.widget_id_list[index];
+                for (let i = 0; i < event_data.widget_id_list.length; i++) {
+                    const i_element = event_data.widget_id_list[i];
+                    if(element == i_element) {
+                        c_data.widget_id_list.splice(index,1)
+                    }
+                }
+            }
+            if(c_data.widget_id_list.length<=0) {
+                ClientEvent.dispatchEvent(config.EventRun.ON_WIDGET_FINISH_COLLECT_EVENT,taskServce.cur_collect_widget_score.event_id)
+                let collect_widget_score = taskServce.getEventById(taskServce.cur_collect_widget_score.event_id)
+                if(taskServce.cur_collect_widget_score_total_score>=c_data.total_score) {
+                    if(collect_widget_score.success.trigger_event_id!=-1){
+                        console.log('删除-收集-控件-总分数-  成功')
+                        taskServce.exeNextDelayEvent(collect_widget_score)
+                        taskServce.cur_collect_widget_score = null //置为null
+                    }
+                } else {
+                    if(collect_widget_score.fail.trigger_event_id!=-1){
+                        console.log('删除-收集-控件-总分数  失败')
+                        taskServce.exeNextDelayEvent(collect_widget_score, false)
+                        taskServce.cur_collect_widget_score = null //置为null
+                    }
+                }
+            }
+        }
+    }
+
     // 计算当前收集控件分数
     private static calculateCurrentCollectWidgetScore(widget_id:number, score:number) {
         // console.log('widget_id=',widget_id,'score=',score)