import { ryw_Event } from "../../FrameWork/Event/EventEnum"; import EventMgr from "../../FrameWork/Event/EventMgr"; import User from "../../FrameWork/User/User"; import Common5 from "../../Platform/th/Common5"; import TouZiXieYiShu from "../GameMethodRes/TouZiXieYiShu/TouZiXieYiShu"; import GameBaseScript from "../GameRoomRes/GameBaseScript"; import TaskManager, { MainTaskIdEnum } from "../JuQingChat/TaskManager"; import BagManager from "../Manager/BagManager"; import UserManager from "../Manager/UserManager"; import PrefabManage, { GameType } from "../PrefabManager/PrefabManage"; import GetAward from "../SCommon/GetAward"; import DHBase from "./DHBase"; const { ccclass, property } = cc._decorator; @ccclass export default class DH_26 extends DHBase { chatConfig = [ { effectUrl: 'DH/DH_26/sound/嗯?怎么被打晕了?救醒她就真相大白了!', delayTime: 3.3, str: '嗯?怎么被打晕了?救醒她就真相大白了!', posi: '-1' }, { effectUrl: 'DH/DH_26/sound/老板,我好怕!', delayTime: 2.85, str: '老板,我好怕!', posi: 'qipao2' }, { effectUrl: 'DH/DH_26/sound/别装了,你为什么害我!', delayTime: 2.4, str: '别装了,你为什么害我!', posi: '-1' }, { effectUrl: 'DH/DH_26/sound/我没有!是顾书雅,是她让我扔掉那些东西的。', delayTime: 5.7, str: '我没有!是顾书雅,是她让我扔掉那些东西的。', posi: 'qipao3' }, { effectUrl: 'DH/DH_26/sound/还狡辩,我不想再见到你!', delayTime: 3, str: '还狡辩,我不想再见到你!', posi: '-1' }, ] @property(sp.Skeleton) baishishi_1: sp.Skeleton = null; @property(sp.Skeleton) baishishi_2: sp.Skeleton = null; @property([cc.Node]) layers: cc.Node[] = []; taskGoodStep: number = 0 start() { this.scheduleOnce(() => { PrefabManage.preloadPrefabByType(GameType.DH_24) }) GameBaseScript.preLoadRemoteAudioByChatConfig(this.chatConfig); super.start(); for (const layer of this.layers) { layer.active = false } let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo() let mainId = mainTaskInfo.Id if (mainId == MainTaskIdEnum.MainTask_1706) { this.dialogIndex = 1 for (const layer of this.layers) { layer.active = true } this.node.getChildByName("juQingTipNode").active = true } else { this.node.getChildByName("juQingTipNode").active = false this.layers[0].active = true this.continueStory(); } // this.scheduleOnce(() => { // PrefabManage.preloadPrefabByType(GameType.DH_59) // }) // EventMgr.onEvent_custom(ryw_Event.RefreshJuQingDuiHua, () => { // this.continueStory1(); // }, this); EventMgr.onEvent_custom(ryw_Event.goodTouchMoveCheck, (targetNode) => { this.checkTaskGoodStep(targetNode); }, this); } // 继续剧情 continueStory() { this.baishishi_1.node.active = true const dialogEvents = [ (func) => { this.baishishi_1.setAnimation(0, "待机", true) this.showClickDialog(this.chatConfig[this.dialogIndex++], func, () => { }); }, ] const dialogCallFunc = (logEvents: any[]) => { logEvents.shift()(() => { if (logEvents.length > 0) { dialogCallFunc(logEvents); } else { TaskManager.finishCurMainTask(MainTaskIdEnum.MainTask_1705) TaskManager.setCurUnLockMainTaskInfo(MainTaskIdEnum.MainTask_1706) // PrefabManage.showBlackGuoDu(() => { // PrefabManage.loadPrefabByType(GameType.CityPrefab) // this.node.destroy() // }) } }); } dialogCallFunc(dialogEvents); } // 继续剧情 continueStory1() { this.layers[0].active = false this.baishishi_2.node.active = true const dialogEvents = [ (func) => { this.baishishi_2.setAnimation(0, "靠近", false) this.baishishi_2.setCompleteListener(() => { this.baishishi_2.setCompleteListener(null) this.baishishi_2.setAnimation(0, "待机", true) }) this.showQiPao(this.chatConfig[this.dialogIndex++], func, () => { }); }, (func) => { this.showClickDialog(this.chatConfig[this.dialogIndex++], func, () => { this.baishishi_2.setAnimation(0, "被推开", false) this.baishishi_2.setCompleteListener(() => { this.baishishi_2.setCompleteListener(null) this.baishishi_2.setAnimation(0, "被推开待机", true) }) }); }, (func) => { this.showQiPao(this.chatConfig[this.dialogIndex++], func, () => { }); }, (func) => { this.showClickDialog(this.chatConfig[this.dialogIndex++], func, () => { }); }, ] const dialogCallFunc = (logEvents: any[]) => { logEvents.shift()(() => { if (logEvents.length > 0) { dialogCallFunc(logEvents); } else { TaskManager.finishCurMainTask(MainTaskIdEnum.MainTask_1706) TaskManager.setCurUnLockMainTaskInfo(MainTaskIdEnum.MainTask_1707) // PrefabManage.showBlackGuoDu(() => { // PrefabManage.loadPrefabByType(GameType.CityPrefab) // this.node.destroy() // }) } }); } dialogCallFunc(dialogEvents); } checkTaskGoodStep(targetNode) { let rightStepTab = ['icon_3701', 'icon_3702', 'icon_3700', 'icon_3703'] let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo() let mainId = mainTaskInfo.Id let callFunc = (typeStr) => { if (typeStr == 0) { if (targetNode.parent.name == 'icon_3701') { Common5.getSpriteFrameFromBundle("DH_26", "res/碘酒灰", targetNode.getComponent(cc.Sprite)) this.layers[1].getChildByName('治疗').getComponent(sp.Skeleton).setAnimation(0, "碘酒", false) } else if (targetNode.parent.name == 'icon_3702') { Common5.getSpriteFrameFromBundle("DH_26", "res/止血粉灰", targetNode.getComponent(cc.Sprite)) this.layers[1].getChildByName('治疗').getComponent(sp.Skeleton).setAnimation(0, "止血粉", false) } else if (targetNode.parent.name == 'icon_3700') { Common5.getSpriteFrameFromBundle("DH_26", "res/纱布灰", targetNode.getComponent(cc.Sprite)) this.layers[1].getChildByName('治疗').getComponent(sp.Skeleton).setAnimation(0, "绷带", false) } else if (targetNode.parent.name == 'icon_3703') { Common5.getSpriteFrameFromBundle("DH_26", "res/抗生素灰", targetNode.getComponent(cc.Sprite)) this.layers[1].getChildByName('治疗').getComponent(sp.Skeleton).setAnimation(0, "抗生素", false) this.layers[1].getChildByName('治疗').getComponent(sp.Skeleton).setCompleteListener(() => { this.layers[1].getChildByName('治疗').getComponent(sp.Skeleton).setCompleteListener(null) this.layers[1].getChildByName('手指箭头').active = false; this.layers[1].getChildByName('nodex').active = false; this.layers[1].getChildByName('治疗').active = false; }) } } else if (typeStr == 1) { let wrongTip = this.layers[1].getChildByName('wrongTip') wrongTip.stopAllActions() cc.tween(wrongTip) .set({ active: true, scale: 0 }) .to(0.2, { scale: 1 }) .delay(2) .to(0.2, { scale: 0 }) .set({ active: false }) .start() } } //结束操作后弹框成功或失败 if (targetNode.parent.name == rightStepTab[this.taskGoodStep]) { console.log('物品正确', targetNode.parent.name) // this.node.getChildByName('jieShengTask504Node').getChildByName('手指箭头').active = false this.taskGoodStep++ if (this.taskGoodStep >= rightStepTab.length) { this.scheduleOnce(() => { this.continueStory1() }, 2) // let successFunc = () => { // this.finishTask() // } // cc.tween(this.node) // .delay(2.5) // .call(()=>{ // PrefabManage.loadPrefabByType(GameType.TaskResult,null,(prefabNode)=>{ // prefabNode.getComponent(TaskResult).initView1(1,true,successFunc) // }) // }) // .start() } callFunc(0) } else { console.log('物品错误', targetNode.parent.name) callFunc(1) } } finishTask() { // this.isStartTask603 = false // User.setRoomGoodStatus(5) TaskManager.finishCurMainTask(MainTaskIdEnum.MainTask_207) TaskManager.setCurUnLockMainTaskInfo(MainTaskIdEnum.MainTask_208) BagManager.subBagList(3700, 1) BagManager.subBagList(3701, 1) BagManager.subBagList(3702, 1) BagManager.subBagList(3703, 1) // BagManager.subBagList(3034,1) // Common5.playMusicCustom('CommonRes', 'sound/背景音'); this.node.removeFromParent() this.node.destroy() // Common5.releaseBundleAssets('GameStory2') } // 震屏效果 // 参数:duration 震屏时间 shakeEffect(duration) { this.node.runAction( cc.repeatForever( cc.sequence( // cc.moveTo(0.02, cc.v2(5, 7)), // cc.moveTo(0.02, cc.v2(-6, 7)), // cc.moveTo(0.02, cc.v2(-13, 3)), // cc.moveTo(0.02, cc.v2(3, -6)), // cc.moveTo(0.02, cc.v2(-5, 5)), // cc.moveTo(0.02, cc.v2(2, -8)), // cc.moveTo(0.02, cc.v2(-8, -10)), // cc.moveTo(0.02, cc.v2(3, 10)), // cc.moveTo(0.02, cc.v2(0, 0)) cc.moveTo(0.2, cc.v2(5, 7)), // cc.moveTo(0.2, cc.v2(-6, 7)), cc.moveTo(0.2, cc.v2(-13, 3)), // cc.moveTo(0.2, cc.v2(3, -6)), cc.moveTo(0.2, cc.v2(-5, 5)), // cc.moveTo(0.2, cc.v2(2, -8)), cc.moveTo(0.2, cc.v2(-8, -10)), // cc.moveTo(0.2, cc.v2(3, 10)), cc.moveTo(0.2, cc.v2(0, 0)) ) ) ); setTimeout(() => { this.node.stopAllActions(); this.node.setPosition(0, 0); }, duration * 1000); } }