|
@@ -8,13 +8,18 @@ import { gameManager } from './gameManager';
|
|
|
import { taskServce } from './TaskSchedule/taskServce';
|
|
|
const { ccclass, property } = _decorator;
|
|
|
|
|
|
+class EventTarget{
|
|
|
+ event_item: event_item;
|
|
|
+ is_finish:boolean;
|
|
|
+}
|
|
|
+
|
|
|
@ccclass('scene_layer')
|
|
|
export class scene_layer extends Component {
|
|
|
@property(Node) content:Node = null;
|
|
|
@property(Prefab) scenePagePrefab:Prefab = null;
|
|
|
@property(Node) scenePageDir:Node = null;
|
|
|
protected mSceneTask:task_data = null;
|
|
|
- private mTaskEventItemList:Map<string,event_item> = new Map;
|
|
|
+ private mTaskEventItemList:Map<string,EventTarget> = new Map;
|
|
|
protected mScenePages:scene_item_data[] =[]
|
|
|
private mCurPage:number = 0;
|
|
|
private mAudioList:Map<string,Node> = new Map;
|
|
@@ -180,22 +185,23 @@ export class scene_layer extends Component {
|
|
|
if(this.mSceneTask == null) {
|
|
|
return
|
|
|
}
|
|
|
- let cur_page = this.mCurPage
|
|
|
let event_id = -1
|
|
|
- var key = ''
|
|
|
+ var key = this.mCurPage + ''
|
|
|
if(isUp) {
|
|
|
- key = cur_page + '_up'
|
|
|
+ key = key + '_up'
|
|
|
} else {
|
|
|
- key = cur_page + '_next'
|
|
|
+ key = key + '_next'
|
|
|
}
|
|
|
- let element = this.mTaskEventItemList.get(key)
|
|
|
- if(element != null) {
|
|
|
- event_id = element.event_id
|
|
|
+ let eventTarget:EventTarget = this.mTaskEventItemList.get(key)
|
|
|
+ if(eventTarget != null && eventTarget.is_finish == false) {
|
|
|
+ event_id = eventTarget.event_item.event_id
|
|
|
+ if(eventTarget.event_item.event_item_switch_scene_event_data.executeOnlyOnce) {
|
|
|
+ eventTarget.is_finish = true
|
|
|
+ }
|
|
|
}
|
|
|
// console.log('event_id event_id=',event_id)
|
|
|
if(event_id != -1) {
|
|
|
- // 切换场景有延时0.7
|
|
|
- this.scheduleOnce(()=>{
|
|
|
+ this.scheduleOnce(()=>{ // 切换场景有延时0.7
|
|
|
ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH, event_id)
|
|
|
},0.7)
|
|
|
}
|
|
@@ -210,13 +216,16 @@ export class scene_layer extends Component {
|
|
|
let element_switch_scene_event_data:event_item_switch_scene_event = element.event_item_switch_scene_event_data
|
|
|
if(element.type == config.event_type.switch_scene_event && element_switch_scene_event_data != null) {
|
|
|
if(element_switch_scene_event_data.binding_page_index != -1 && element_switch_scene_event_data.direction != config.switch_scene_page_direction.unknown) {
|
|
|
- var key = ''
|
|
|
+ var key = element_switch_scene_event_data.binding_page_index + ''
|
|
|
if(element_switch_scene_event_data.direction == config.switch_scene_page_direction.up || element_switch_scene_event_data.direction == config.switch_scene_page_direction.left) {
|
|
|
- key = element_switch_scene_event_data.binding_page_index + '_up'
|
|
|
+ key = key + '_up'
|
|
|
} else {
|
|
|
- key = element_switch_scene_event_data.binding_page_index + '_next'
|
|
|
+ key = key + '_next'
|
|
|
}
|
|
|
- this.mTaskEventItemList.set(key, element)
|
|
|
+ let eventTarget = new EventTarget()
|
|
|
+ eventTarget.event_item = element
|
|
|
+ eventTarget.is_finish = false
|
|
|
+ this.mTaskEventItemList.set(key, eventTarget)
|
|
|
}
|
|
|
}
|
|
|
}
|