|
@@ -23,6 +23,7 @@ export class scene_layer extends Component {
|
|
protected mScenePages:scene_item_data[] =[]
|
|
protected mScenePages:scene_item_data[] =[]
|
|
private mCurPage:number = 0;
|
|
private mCurPage:number = 0;
|
|
private mAudioList:Map<string,Node> = new Map;
|
|
private mAudioList:Map<string,Node> = new Map;
|
|
|
|
+ private mIsClickDirectionButton:boolean = false;
|
|
protected start(): void {
|
|
protected start(): void {
|
|
this.node.addComponent(AudioSource)
|
|
this.node.addComponent(AudioSource)
|
|
}
|
|
}
|
|
@@ -44,8 +45,10 @@ export class scene_layer extends Component {
|
|
this.mSceneTask = null
|
|
this.mSceneTask = null
|
|
this.mTaskEventItemList.clear()
|
|
this.mTaskEventItemList.clear()
|
|
this.mScenePages = []
|
|
this.mScenePages = []
|
|
- this.mCurPage = 0;
|
|
|
|
|
|
+ this.mCurPage = 0
|
|
this.mAudioList.clear()
|
|
this.mAudioList.clear()
|
|
|
|
+ this.unscheduleAllCallbacks()
|
|
|
|
+ this.mIsClickDirectionButton = false
|
|
ClientEvent.off(config.EventRun.NOTICE_EVENT,this.beActive.bind(this),this)
|
|
ClientEvent.off(config.EventRun.NOTICE_EVENT,this.beActive.bind(this),this)
|
|
}
|
|
}
|
|
|
|
|
|
@@ -185,6 +188,7 @@ export class scene_layer extends Component {
|
|
if(this.mSceneTask == null) {
|
|
if(this.mSceneTask == null) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ this.mIsClickDirectionButton = true
|
|
let event_id = -1
|
|
let event_id = -1
|
|
var key = this.mCurPage + ''
|
|
var key = this.mCurPage + ''
|
|
if(isUp) {
|
|
if(isUp) {
|
|
@@ -195,15 +199,47 @@ export class scene_layer extends Component {
|
|
let eventTarget:EventTarget = this.mTaskEventItemList.get(key)
|
|
let eventTarget:EventTarget = this.mTaskEventItemList.get(key)
|
|
if(eventTarget != null && eventTarget.is_finish == false) {
|
|
if(eventTarget != null && eventTarget.is_finish == false) {
|
|
event_id = eventTarget.event_item.event_id
|
|
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)
|
|
|
|
|
|
+ // console.log('event_id=',event_id)
|
|
if(event_id != -1) {
|
|
if(event_id != -1) {
|
|
this.scheduleOnce(()=>{ // 切换场景有延时0.7
|
|
this.scheduleOnce(()=>{ // 切换场景有延时0.7
|
|
ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH, event_id)
|
|
ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH, event_id)
|
|
|
|
+ this.checkNextDelayEventUncompleted(eventTarget)
|
|
},0.7)
|
|
},0.7)
|
|
|
|
+ } else {
|
|
|
|
+ this.mIsClickDirectionButton = false
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ checkNextDelayEventUncompleted(eventTarget:EventTarget) {
|
|
|
|
+ if(eventTarget == null) {
|
|
|
|
+ this.mIsClickDirectionButton = false
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ let trigger_event_id = eventTarget.event_item.success.trigger_event_id
|
|
|
|
+ if(trigger_event_id!=-1) {
|
|
|
|
+ let _event:event_item = taskServce.getEventById(trigger_event_id)
|
|
|
|
+ if(_event!=null && _event.type == config.event_type.delay_exe_event) {
|
|
|
|
+ let delay_time = _event.event_item_delay_exe_data.delay_time
|
|
|
|
+ // console.log('下一个是延迟事件 延迟时间=',delay_time)
|
|
|
|
+ if(delay_time > 0) {
|
|
|
|
+ this.scheduleOnce(()=> {
|
|
|
|
+ if(this.mIsClickDirectionButton) {
|
|
|
|
+ if(eventTarget.event_item.event_item_switch_scene_event_data.executeOnlyOnce) {
|
|
|
|
+ eventTarget.is_finish = true
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ // 取消 延迟事件 定时器
|
|
|
|
+ gameManager.Singleton.unscheduleAllCallbacks()
|
|
|
|
+ }
|
|
|
|
+ this.mIsClickDirectionButton = false
|
|
|
|
+ },delay_time)
|
|
|
|
+ } else {
|
|
|
|
+ this.mIsClickDirectionButton = false
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ this.mIsClickDirectionButton = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|