|
@@ -1,11 +1,10 @@
|
|
import { _decorator, AudioSource, Component, instantiate, Node, Prefab, Widget } from 'cc';
|
|
import { _decorator, AudioSource, Component, instantiate, Node, Prefab, Widget } from 'cc';
|
|
-import { event_item, event_item_switch_scene_event, scene_item_data, task_data } from '../../data/data';
|
|
|
|
|
|
+import { event_group_event_item, event_group_event_item_event_item, event_item, event_item_switch_scene_event, scene_item_data, task_data } from '../../data/data';
|
|
import { scene_page } from './scene_page';
|
|
import { scene_page } from './scene_page';
|
|
import { scene_page_dir } from './scene_page_dir';
|
|
import { scene_page_dir } from './scene_page_dir';
|
|
import { ClientEvent } from '../clientEvent';
|
|
import { ClientEvent } from '../clientEvent';
|
|
import { config } from '../config';
|
|
import { config } from '../config';
|
|
import { gameManager } from './gameManager';
|
|
import { gameManager } from './gameManager';
|
|
-import { taskServce } from './TaskSchedule/taskServce';
|
|
|
|
const { ccclass, property } = _decorator;
|
|
const { ccclass, property } = _decorator;
|
|
|
|
|
|
class EventTarget{
|
|
class EventTarget{
|
|
@@ -25,6 +24,7 @@ export class scene_layer extends Component {
|
|
private mAudioList:Map<string,Node> = new Map;
|
|
private mAudioList:Map<string,Node> = new Map;
|
|
private up_id_string = '_up'
|
|
private up_id_string = '_up'
|
|
private next_id_string = '_next'
|
|
private next_id_string = '_next'
|
|
|
|
+ private is_show_cur_directionBtn:boolean = true; //是否显示当前方向按钮,默认显示
|
|
protected start(): void {
|
|
protected start(): void {
|
|
this.node.addComponent(AudioSource)
|
|
this.node.addComponent(AudioSource)
|
|
}
|
|
}
|
|
@@ -32,19 +32,25 @@ export class scene_layer extends Component {
|
|
this.mSceneTask = data
|
|
this.mSceneTask = data
|
|
this.getTaskSwitchSceneEventList()
|
|
this.getTaskSwitchSceneEventList()
|
|
}
|
|
}
|
|
|
|
+
|
|
public initScene(pages:scene_item_data[],type:number){
|
|
public initScene(pages:scene_item_data[],type:number){
|
|
ClientEvent.on(config.EventRun.NOTICE_EVENT,this.beActive.bind(this),this)
|
|
ClientEvent.on(config.EventRun.NOTICE_EVENT,this.beActive.bind(this),this)
|
|
this.mScenePages = pages;
|
|
this.mScenePages = pages;
|
|
this.initSceneDir(type)
|
|
this.initSceneDir(type)
|
|
this.loadAllPage()
|
|
this.loadAllPage()
|
|
|
|
+ this.changeHideAllDirectionBtn()
|
|
}
|
|
}
|
|
|
|
|
|
public unInit(){
|
|
public unInit(){
|
|
this.content.destroyAllChildren()
|
|
this.content.destroyAllChildren()
|
|
this.content.removeAllChildren()
|
|
this.content.removeAllChildren()
|
|
|
|
+ this.mSceneTask = null
|
|
|
|
+ this.mTaskEventItemList.clear()
|
|
this.mScenePages = []
|
|
this.mScenePages = []
|
|
- this.mCurPage = 0;
|
|
|
|
|
|
+ this.mCurPage = 0
|
|
this.mAudioList.clear()
|
|
this.mAudioList.clear()
|
|
|
|
+ this.unscheduleAllCallbacks()
|
|
|
|
+ this.is_show_cur_directionBtn = true
|
|
ClientEvent.off(config.EventRun.NOTICE_EVENT,this.beActive.bind(this),this)
|
|
ClientEvent.off(config.EventRun.NOTICE_EVENT,this.beActive.bind(this),this)
|
|
}
|
|
}
|
|
|
|
|
|
@@ -80,6 +86,34 @@ export class scene_layer extends Component {
|
|
if(event.event_item_stop_play_loop_sound_data!=null){
|
|
if(event.event_item_stop_play_loop_sound_data!=null){
|
|
this.deleteAudioItem(event.event_item_stop_play_loop_sound_data.res)
|
|
this.deleteAudioItem(event.event_item_stop_play_loop_sound_data.res)
|
|
}
|
|
}
|
|
|
|
+ }else if(event.type===config.event_type.more_scene_is_show_arrow_event) {
|
|
|
|
+ let data = event.event_item_more_scene_is_show_arrow_event_data
|
|
|
|
+ if(data!=null) {
|
|
|
|
+ this.is_show_cur_directionBtn = data.is_show
|
|
|
|
+ if(data.is_show) {
|
|
|
|
+ this.changeUpNextDirectionBtn()
|
|
|
|
+ } else {
|
|
|
|
+ this.changeHideAllDirectionBtn()
|
|
|
|
+ }
|
|
|
|
+ gameManager.Singleton.exeNextDelayEvent(event)
|
|
|
|
+ }
|
|
|
|
+ }else if(event.type===config.event_type.more_scene_jump_assigned_page_event){
|
|
|
|
+ let data = event.event_item_more_scene_jump_assigned_page_event_data
|
|
|
|
+ if(data!=null) {
|
|
|
|
+ let page_index = data.page_number-1
|
|
|
|
+ if(page_index>-1 && page_index<this.mScenePages.length) {
|
|
|
|
+ let interval_time = data.interval_time
|
|
|
|
+ gameManager.Singleton.onLaunch(()=>{
|
|
|
|
+ this.changePage(page_index)
|
|
|
|
+ gameManager.Singleton.exeNextDelayEvent(event)
|
|
|
|
+ },interval_time)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else if(event.type===config.event_type.event_group) {
|
|
|
|
+ let data = event.event_item_event_group_data
|
|
|
|
+ if(data!=null&&data.list.length>0) {
|
|
|
|
+ this.executeEventGroup(event, data)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -110,10 +144,17 @@ export class scene_layer extends Component {
|
|
changePage(page:number){
|
|
changePage(page:number){
|
|
this.mCurPage = page;
|
|
this.mCurPage = page;
|
|
this.onChangeUpdatePages()
|
|
this.onChangeUpdatePages()
|
|
- this.changeUpNextBtn()
|
|
|
|
|
|
+ this.changeUpNextDirectionBtn()
|
|
}
|
|
}
|
|
|
|
|
|
- changeUpNextBtn() {
|
|
|
|
|
|
+ changeHideAllDirectionBtn(){
|
|
|
|
+ this.scenePageDir.getComponent(scene_page_dir).hideAllBtn()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ changeUpNextDirectionBtn() {
|
|
|
|
+ if(this.is_show_cur_directionBtn==false) {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
if(this.mScenePages.length>1){
|
|
if(this.mScenePages.length>1){
|
|
this.scenePageDir.getComponent(scene_page_dir).showAllBtn()
|
|
this.scenePageDir.getComponent(scene_page_dir).showAllBtn()
|
|
if(this.mCurPage<=0){
|
|
if(this.mCurPage<=0){
|
|
@@ -129,7 +170,7 @@ export class scene_layer extends Component {
|
|
for (let index = 0; index < this.content.children.length; index++) {
|
|
for (let index = 0; index < this.content.children.length; index++) {
|
|
const page = this.content.children[index];
|
|
const page = this.content.children[index];
|
|
if(page.getComponent(AudioSource)!=null){
|
|
if(page.getComponent(AudioSource)!=null){
|
|
-
|
|
|
|
|
|
+
|
|
}else{
|
|
}else{
|
|
page.active = (this.mCurPage == index)
|
|
page.active = (this.mCurPage == index)
|
|
}
|
|
}
|
|
@@ -219,17 +260,17 @@ export class scene_layer extends Component {
|
|
}
|
|
}
|
|
// 延迟时间
|
|
// 延迟时间
|
|
let call = (()=> {
|
|
let call = (()=> {
|
|
- ClientEvent.dispatchEvent(config.EventRun.MORE_SCENE_DIRECTION_BUTTON_CLICK_FINISH, trigger_event_id)
|
|
|
|
|
|
+ gameManager.Singleton.exeSuccessTriggerEvent(trigger_event_id)
|
|
})
|
|
})
|
|
if(switch_scene_event_data.delay_time > 0) {
|
|
if(switch_scene_event_data.delay_time > 0) {
|
|
- this.scenePageDir.getComponent(scene_page_dir).hideAllBtn()
|
|
|
|
|
|
+ this.changeHideAllDirectionBtn()
|
|
let delay_time = switch_scene_event_data.delay_time
|
|
let delay_time = switch_scene_event_data.delay_time
|
|
this.scheduleOnce(()=> {
|
|
this.scheduleOnce(()=> {
|
|
if(event_item.event_item_switch_scene_event_data.executeOnlyOnce) {
|
|
if(event_item.event_item_switch_scene_event_data.executeOnlyOnce) {
|
|
eventTarget.is_finish = true
|
|
eventTarget.is_finish = true
|
|
}
|
|
}
|
|
call()
|
|
call()
|
|
- this.changeUpNextBtn()
|
|
|
|
|
|
+ this.changeUpNextDirectionBtn()
|
|
},delay_time)
|
|
},delay_time)
|
|
} else {
|
|
} else {
|
|
call()
|
|
call()
|
|
@@ -268,6 +309,28 @@ export class scene_layer extends Component {
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ executeEventGroup(event:event_item, data:event_group_event_item) {
|
|
|
|
+ var c_index = 0
|
|
|
|
+ let c_item_data = data.list[c_index]
|
|
|
|
+ let call_back = (()=>{
|
|
|
|
+ c_index++
|
|
|
|
+ if(c_index >= data.list.length) {
|
|
|
|
+ gameManager.Singleton.exeSuccessTriggerEvent(event.success.trigger_event_id)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ c_item_data = data.list[c_index]
|
|
|
|
+ this.runEventGrop(c_item_data, call_back)
|
|
|
|
+ })
|
|
|
|
+ this.runEventGrop(c_item_data,call_back)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ runEventGrop(item_data: event_group_event_item_event_item, callback){
|
|
|
|
+ this.scheduleOnce(()=>{
|
|
|
|
+ gameManager.Singleton.exeEvent(item_data.event_item.event_id)
|
|
|
|
+ callback()
|
|
|
|
+ },item_data.delay_time)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|