|
@@ -14,7 +14,7 @@ export class scene_layer extends Component {
|
|
|
@property(Prefab) scenePagePrefab:Prefab = null;
|
|
|
@property(Node) scenePageDir:Node = null;
|
|
|
protected mSceneTask:task_data = null;
|
|
|
- private mTaskEventItemList:event_item[] = []
|
|
|
+ private mTaskEventItemList:Map<string,event_item> = new Map;
|
|
|
protected mScenePages:scene_item_data[] =[]
|
|
|
private mCurPage:number = 0;
|
|
|
private mAudioList:Map<string,Node> = new Map;
|
|
@@ -36,6 +36,8 @@ export class scene_layer extends Component {
|
|
|
public unInit(){
|
|
|
this.content.destroyAllChildren()
|
|
|
this.content.removeAllChildren()
|
|
|
+ this.mSceneTask = null
|
|
|
+ this.mTaskEventItemList.clear()
|
|
|
this.mScenePages = []
|
|
|
this.mCurPage = 0;
|
|
|
this.mAudioList.clear()
|
|
@@ -180,23 +182,17 @@ export class scene_layer extends Component {
|
|
|
}
|
|
|
let cur_page = this.mCurPage
|
|
|
let event_id = -1
|
|
|
- for(let i = 0; i<this.mTaskEventItemList.length; i++) {
|
|
|
- let element = this.mTaskEventItemList[i]
|
|
|
- let element_switch_scene_event_data:event_item_switch_scene_event = element.event_item_switch_scene_event_data
|
|
|
- if(element_switch_scene_event_data.binding_page_index == cur_page) {
|
|
|
- if(isUp) {
|
|
|
- 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) {
|
|
|
- event_id = element.event_id
|
|
|
- break
|
|
|
- }
|
|
|
- } else {
|
|
|
- if(element_switch_scene_event_data.direction == config.switch_scene_page_direction.down || element_switch_scene_event_data.direction == config.switch_scene_page_direction.right) {
|
|
|
- event_id = element.event_id
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ var key = ''
|
|
|
+ if(isUp) {
|
|
|
+ key = cur_page + '_up'
|
|
|
+ } else {
|
|
|
+ key = cur_page + '_next'
|
|
|
}
|
|
|
+ let element = this.mTaskEventItemList.get(key)
|
|
|
+ if(element != null) {
|
|
|
+ event_id = element.event_id
|
|
|
+ }
|
|
|
+ // console.log('event_id event_id=',event_id)
|
|
|
if(event_id != -1) {
|
|
|
// 切换场景有延时0.7
|
|
|
this.scheduleOnce(()=>{
|
|
@@ -211,8 +207,17 @@ export class scene_layer extends Component {
|
|
|
}
|
|
|
for(let i = 0; i < this.mSceneTask.event_list.length; i++) {
|
|
|
let element:event_item = this.mSceneTask.event_list[i]
|
|
|
- if(element.type == config.event_type.switch_scene_event && element.event_item_switch_scene_event_data != null) {
|
|
|
- this.mTaskEventItemList.push(element)
|
|
|
+ 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 = ''
|
|
|
+ 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'
|
|
|
+ } else {
|
|
|
+ key = element_switch_scene_event_data.binding_page_index + '_next'
|
|
|
+ }
|
|
|
+ this.mTaskEventItemList.set(key, element)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|