|
@@ -1,5 +1,5 @@
|
|
|
import { _decorator, Component, Node } from 'cc';
|
|
|
-import { da_guai_item_data, event_active_event_item, event_collect_event_item, event_item, event_start_event_item, event_stop_active_event_item, task_data, zhao_xi_jie_data, zhao_xi_jie_item_data } from '../../../data/data';
|
|
|
+import { da_guai_item_data, event_active_event_item, event_collect_event_item, event_collect_event_score_item, event_item, event_start_event_item, event_stop_active_event_item, task_data, zhao_xi_jie_data, zhao_xi_jie_item_data } from '../../../data/data';
|
|
|
import { config } from '../../config';
|
|
|
import { event_start_event } from '../../edit/event/event_start_event';
|
|
|
import { tools } from '../../tools';
|
|
@@ -17,6 +17,8 @@ export class taskServce {
|
|
|
private static finishDaGuai:Map<number,boolean> = new Map;
|
|
|
private static cur_collect_event:event_item = null;
|
|
|
private static cur_only_collect_event:event_item = null;
|
|
|
+ private static cur_collect_event_score:event_item = null;
|
|
|
+ private static cur_collect_event_score_total_score:number = 0;
|
|
|
public static guo_ju_qing_binding_event_id:number = -1;
|
|
|
private static isFinishZhaoXiJieTask:boolean = false;
|
|
|
private static finishZhaoXiJieLastEventId:number = -1;
|
|
@@ -60,6 +62,8 @@ export class taskServce {
|
|
|
taskServce.finishZhaoXiJie.clear();
|
|
|
taskServce.cur_collect_event = null;
|
|
|
taskServce.cur_only_collect_event = null;
|
|
|
+ taskServce.cur_collect_event_score = null;
|
|
|
+ taskServce.cur_collect_event_score_total_score = 0;
|
|
|
taskServce.guo_ju_qing_binding_event_id = -1;
|
|
|
taskServce.isFinishZhaoXiJieTask = false;
|
|
|
taskServce.finishZhaoXiJieLastEventId = -1;
|
|
@@ -209,9 +213,24 @@ export class taskServce {
|
|
|
// console.log("event_data--",event_data)
|
|
|
// }
|
|
|
break;
|
|
|
- // case config.event_type.start_event:
|
|
|
-
|
|
|
- // break;
|
|
|
+ case config.event_type.collect_event_score:
|
|
|
+ let event_score_id_list = event.event_item_collect_event_score_data.event_id_list
|
|
|
+ if(event_score_id_list.length>0) {
|
|
|
+ taskServce.cur_collect_event_score_total_score = 0
|
|
|
+
|
|
|
+ taskServce.cur_collect_event_score = new event_item;
|
|
|
+ taskServce.cur_collect_event_score.event_id = event.event_id
|
|
|
+ taskServce.cur_collect_event_score.type = event.type
|
|
|
+ taskServce.cur_collect_event_score.event_item_collect_event_score_data = new event_collect_event_score_item
|
|
|
+ taskServce.cur_collect_event_score.event_item_collect_event_score_data.total_score = event.event_item_collect_event_score_data.total_score
|
|
|
+ for (let index = 0; index < event_score_id_list.length; index++) {
|
|
|
+ const element = event_score_id_list[index];
|
|
|
+ taskServce.cur_collect_event_score.event_item_collect_event_score_data.event_id_list.push(element)
|
|
|
+ }
|
|
|
+ // 不再执行后续事件
|
|
|
+ return
|
|
|
+ }
|
|
|
+ break;
|
|
|
case config.event_type.active_event:
|
|
|
ClientEvent.dispatchEvent(config.EventRun.NOTICE_EVENT,event.event_item_active_event_data.binding_widget_id,event)
|
|
|
break;
|
|
@@ -421,6 +440,40 @@ export class taskServce {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public static onWidgetDragOtherFinishEvent(widget_id:number, score:number) {
|
|
|
+ if(taskServce.cur_collect_event_score==null) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if(taskServce.mTaskData==null){
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let event = this.exeWidgeTaskDic.get(widget_id)
|
|
|
+ if(event!=null) {
|
|
|
+ let e_index = taskServce.cur_collect_event_score.event_item_collect_event_score_data.event_id_list.indexOf(event.event_id)
|
|
|
+ if(e_index!=-1){
|
|
|
+ taskServce.cur_collect_event_score_total_score += score
|
|
|
+ taskServce.cur_collect_event_score.event_item_collect_event_score_data.event_id_list.splice(e_index,1)
|
|
|
+ }
|
|
|
+ // console.log('当前分数=',taskServce.cur_collect_event_score_total_score)
|
|
|
+ if(taskServce.cur_collect_event_score.event_item_collect_event_score_data.event_id_list.length<=0) {
|
|
|
+ ClientEvent.dispatchEvent(config.EventRun.ON_WIDGET_FINISH_COLLECT_EVENT,taskServce.cur_collect_event_score.event_id)
|
|
|
+ let collect_event_score = taskServce.getEventById(taskServce.cur_collect_event_score.event_id)
|
|
|
+ // console.log('collect_event_score=',collect_event_score)
|
|
|
+ if(taskServce.cur_collect_event_score_total_score>=taskServce.cur_collect_event_score.event_item_collect_event_score_data.total_score) {
|
|
|
+ if(collect_event_score.success.trigger_event_id!=-1){
|
|
|
+ taskServce.exeNextDelayEvent(collect_event_score)
|
|
|
+ taskServce.cur_collect_event_score = null //置为null
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if(collect_event_score.fail.trigger_event_id!=-1){
|
|
|
+ taskServce.exeNextDelayEvent(collect_event_score, false)
|
|
|
+ taskServce.cur_collect_event_score = null //置为null
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public static checkFinishDaBossTask(){
|
|
|
let isFinish = true;
|
|
|
if(!taskServce.mTaskData._da_guai){
|
|
@@ -568,7 +621,7 @@ export class taskServce {
|
|
|
taskServce.DistributedEvent(event)
|
|
|
}
|
|
|
|
|
|
- public static exeNextDelayEvent(event:event_item){
|
|
|
+ public static exeNextDelayEvent(event:event_item, is_success_trigger:boolean=true){
|
|
|
if(event!=null){
|
|
|
if(event.success.is_finish_game){
|
|
|
return gameManager.Singleton.gameOver()
|
|
@@ -577,7 +630,12 @@ export class taskServce {
|
|
|
return gameManager.Singleton.nextScene()
|
|
|
}
|
|
|
}
|
|
|
- let id = event.success.trigger_event_id;
|
|
|
+ let id = -1
|
|
|
+ if(is_success_trigger) {
|
|
|
+ id = event.success.trigger_event_id
|
|
|
+ } else {
|
|
|
+ id = event.fail.trigger_event_id
|
|
|
+ }
|
|
|
if(id!=-1){
|
|
|
let _event:event_item = this.getEventById(id)
|
|
|
if(_event===null){
|