You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
374 lines
16 KiB
374 lines
16 KiB
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 GameBaseScript from "../GameRoomRes/GameBaseScript";
|
|
import JuQingManager from "../JuQingChat/JuQingManager";
|
|
import TaskManager, { MainTaskIdEnum } from "../JuQingChat/TaskManager";
|
|
import JuQingQiPao from "../JuQingGuanQia/JuQingQiPao";
|
|
import NewGuideScript from "../NewGuide/NewGuideScript";
|
|
import PrefabManage, { GameType } from "../PrefabManager/PrefabManage";
|
|
|
|
|
|
const { ccclass, property } = cc._decorator;
|
|
|
|
let ChadianConfig = {
|
|
chadianLog: [
|
|
{
|
|
str: "为什么?凭什么?",
|
|
qiPaoPos: 0,
|
|
delay: 3,
|
|
effectUrl: "GameStoryRes/sound/KaiChangGuanQia1/为什么?凭什么?"
|
|
},
|
|
{
|
|
str: "凭什么?你穷,又失业,养得起我和孩子吗?",
|
|
qiPaoPos: 1,
|
|
delay: 4.7,
|
|
effectUrl: "GameStoryRes/sound/KaiChangGuanQia1/凭什么?你穷,又失业,养得起我和孩子吗?"
|
|
},
|
|
{
|
|
str: "我忍",
|
|
qiPaoPos: 0,
|
|
delay: 1.1,
|
|
effectUrl: "GameStoryRes/sound/KaiChangGuanQia1/我忍"
|
|
},
|
|
{
|
|
str: "这么漂亮,跟着你?真是暴殄天物!",
|
|
qiPaoPos: 2,
|
|
delay: 3.8,
|
|
effectUrl: "GameStoryRes/sound/KaiChangGuanQia1/这么漂亮,跟着你?真是暴殄天物!"
|
|
},
|
|
{
|
|
str: "我再忍",
|
|
qiPaoPos: 0,
|
|
delay: 1.7,
|
|
effectUrl: "GameStoryRes/sound/KaiChangGuanQia1/我再忍"
|
|
},
|
|
{
|
|
str: "滚吧,别碍着我和你老婆搞烛光晚餐",
|
|
qiPaoPos: 2,
|
|
delay: 3.5,
|
|
effectUrl: "GameStoryRes/sound/KaiChangGuanQia1/滚吧,别碍着我和你老婆搞烛光晚餐"
|
|
},
|
|
{
|
|
str: "不忍了,干个x的西餐,你俩给我等着...",
|
|
qiPaoPos: 3,
|
|
delay: 4.2,
|
|
effectUrl: "GameStoryRes/sound/KaiChangGuanQia1/不忍了,干个x的西餐,你俩给我等着..."
|
|
},
|
|
{
|
|
str: "忍个球,干个x的西餐,你俩给我等着...",
|
|
qiPaoPos: 3,
|
|
delay: 4.7,
|
|
effectUrl: "GameStoryRes/sound/KaiChangGuanQia1/忍个球,干个x的西餐,你俩给我等着..."
|
|
},
|
|
{
|
|
str: "老婆我们不幸福吗?",
|
|
qiPaoPos: 4,
|
|
delay: 1.6,
|
|
effectUrl: "GameStoryRes/sound/KaiChangGuanQia1/老婆我们不幸福吗?"
|
|
},
|
|
]
|
|
}
|
|
|
|
@ccclass
|
|
export default class KaiChangGuanQia1 extends cc.Component {
|
|
|
|
|
|
// LIFE-CYCLE CALLBACKS:
|
|
taiCiIndex: number = 0
|
|
maskGuideNode: cc.Node = null
|
|
|
|
onLoad() {
|
|
Common5.playRemoteAudioMusic('CommonSound/西餐厅外')
|
|
|
|
GameBaseScript.preLoadRemoteAudio(ChadianConfig);
|
|
EventMgr.onEvent_custom(ryw_Event.NormalTouchEndCheck, (data_) => {
|
|
this.normalTouchCallback(data_.targetNode);
|
|
}, this);
|
|
EventMgr.onEvent_custom(ryw_Event.NormalTouchMoveCheck, (data_) => {
|
|
this.normalTouchCallback(data_.targetNode);
|
|
}, this);
|
|
}
|
|
|
|
start() {
|
|
this.scheduleOnce(() => {
|
|
PrefabManage.preloadPrefabByType(Common5.selectGameInfo.roomIndex);
|
|
});
|
|
this.node.getChildByName('mainNode').getChildByName('按钮台词0').getChildByName('taiCi').getComponent(cc.Label).string = `${ChadianConfig.chadianLog[8].str.slice(0,4)}...`
|
|
this.guideStep(-1);
|
|
|
|
|
|
// this.scheduleOnce(() => {
|
|
// this.node.getChildByName('mainNode').getChildByName('tag我').active = false
|
|
// this.node.getChildByName('mainNode').getChildByName('tag老婆').active = false
|
|
// }, 5)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
guideStep(index) {
|
|
if (index == -1) {
|
|
let node = this.node.getChildByName("mainNode").getChildByName('按钮台词0')
|
|
this.guideView([node])
|
|
}else if (index == 0) {
|
|
let node = this.node.getChildByName('mainNode').getChildByName('touchAreaLaoPo1')
|
|
this.guideView([node])
|
|
} else if (index == 1) {
|
|
let node = this.node.getChildByName('mainNode').getChildByName('按钮台词')
|
|
this.guideView([node])
|
|
} else if (index == 2) {
|
|
let node = this.node.getChildByName('mainNode').getChildByName('touchAreaZhi')
|
|
this.guideView([node])
|
|
} else if (index == 3) {
|
|
let node = this.node.getChildByName('mainNode').getChildByName('按钮台词')
|
|
this.guideView([node])
|
|
} else if (index == 4) {
|
|
let node = this.node.getChildByName('mainNode').getChildByName('按钮台词')
|
|
this.guideView([node])
|
|
}
|
|
}
|
|
|
|
normalTouchCallback(targetNode) {
|
|
|
|
let taiCiBtn = this.node.getChildByName('mainNode').getChildByName('按钮台词')
|
|
switch (targetNode.name) {
|
|
case "touchAreaLaoPo1":
|
|
|
|
|
|
break;
|
|
case "btnRight":
|
|
taiCiBtn.active = true
|
|
this.taiCiIndex = 1
|
|
taiCiBtn.getChildByName('taiCi').getComponent(cc.Label).string = `${ChadianConfig.chadianLog[2].str}`
|
|
this.guideStep(3);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
guideView(nodeArray) {
|
|
PrefabManage.loadPrefabByType(GameType.GuideMskNode, null, (prefab) => {
|
|
let guideNodeArray = nodeArray
|
|
this.maskGuideNode = prefab
|
|
let firstNode = guideNodeArray.shift()
|
|
prefab.getComponent(NewGuideScript).setBindNode(firstNode, guideNodeArray)
|
|
})
|
|
}
|
|
|
|
//展示气泡
|
|
showQiPao(curLog, func?) {
|
|
|
|
console.log("curLog==", curLog)
|
|
if (!curLog) {
|
|
console.log("xxxxxx")
|
|
return;
|
|
}
|
|
let string_ = curLog.str
|
|
let qiPaoPos_ = curLog.qiPaoPos
|
|
|
|
|
|
if (qiPaoPos_ != -1) {
|
|
if (curLog.effectUrl && curLog.effectUrl.length > 0) {
|
|
Common5.playRemoteAudioEffect(curLog.effectUrl);
|
|
}
|
|
|
|
let node = this.node
|
|
let qiPao = node.getChildByName("qiPao").getChildByName("qiPao_" + qiPaoPos_);
|
|
let effect = node.getChildByName("声效").getChildByName("声效" + qiPaoPos_);
|
|
qiPao.stopAllActions()
|
|
this.showDialogStr(string_, qiPao.getChildByName("str"))
|
|
// qiPao.getChildByName("str").getComponent(cc.Label).string = string_
|
|
qiPao.active = true
|
|
qiPao.scale = 0
|
|
effect.active = true
|
|
cc.tween(qiPao)
|
|
.to(0.2, { scale: 1 })
|
|
.delay(curLog.delay)
|
|
.call(() => {
|
|
qiPao.active = false;
|
|
effect.active = false;
|
|
if (func) {
|
|
func();
|
|
}
|
|
})
|
|
.start();
|
|
}
|
|
else {
|
|
let qiPao = this.node.getChildByName("dh_qiPao")
|
|
qiPao.getComponent(JuQingQiPao).initView(curLog, func)
|
|
}
|
|
}
|
|
|
|
showDialogStr(str, dialogStr, finishFunc?) {
|
|
let curStr = ""
|
|
let curIndex = 0
|
|
let callFunc = () => {
|
|
curStr += str[curIndex++]
|
|
dialogStr.getComponent(cc.Label).string = curStr
|
|
if (curIndex >= str.length) {
|
|
finishFunc && finishFunc()
|
|
}
|
|
}
|
|
this.schedule(callFunc, 0.07, str.length - 1)
|
|
}
|
|
onTaiCiBtnClick0(event, custom) {
|
|
Common5.ReportDY("inLevel", '开场剧情点位1');
|
|
|
|
this.node.getChildByName('mainNode').getChildByName('按钮台词0').active = false
|
|
|
|
let laoPo = this.node.getChildByName('mainNode').getChildByName('老婆')
|
|
let linQi = this.node.getChildByName('mainNode').getChildByName('林齐')
|
|
let taiCiBtn = this.node.getChildByName('mainNode').getChildByName('按钮台词')
|
|
|
|
laoPo.getComponent(sp.Skeleton).setAnimation(0, '老婆林齐待机说话', true)
|
|
|
|
this.showQiPao(ChadianConfig.chadianLog[8], () => {
|
|
this.node.getChildByName('mainNode').getChildByName('tag我1').active = false
|
|
|
|
|
|
laoPo.getComponent(sp.Skeleton).setAnimation(0, '老婆推林齐', false)
|
|
Common5.playEffectCustom('KaiChangGuanQia1', 'sound/摔倒')
|
|
this.scheduleOnce(() => {
|
|
this.node.getChildByName('mainNode').getChildByName('tag我2').active = true
|
|
laoPo.getComponent(sp.Skeleton).setAnimation(0, '老婆有开除信待机', true)
|
|
linQi.active = true
|
|
taiCiBtn.active = true
|
|
this.taiCiIndex = 0
|
|
taiCiBtn.getChildByName('taiCi').getComponent(cc.Label).string = `${ChadianConfig.chadianLog[0].str.slice(0,4)}...`
|
|
this.guideStep(1);
|
|
}, 2.2)
|
|
});
|
|
}
|
|
onTaiCiBtnClick() {
|
|
|
|
|
|
let taiCiBtn = this.node.getChildByName('mainNode').getChildByName('按钮台词')
|
|
taiCiBtn.active = false
|
|
|
|
let laoPo = this.node.getChildByName('mainNode').getChildByName('老婆')
|
|
let linQi = this.node.getChildByName('mainNode').getChildByName('林齐')
|
|
let laoBan = this.node.getChildByName('mainNode').getChildByName('老板')
|
|
let beiMian = this.node.getChildByName('mainNode').getChildByName('背面')
|
|
if (this.taiCiIndex == 0) {
|
|
Common5.ReportDY("inLevel", '开场剧情点位2');
|
|
|
|
linQi.getComponent(sp.Skeleton).setAnimation(0, '林齐倒地愤怒1说话', true)
|
|
this.showQiPao(ChadianConfig.chadianLog[0], () => {
|
|
laoPo.getComponent(sp.Skeleton).setAnimation(0, '老婆丢开除信', false)
|
|
linQi.getComponent(sp.Skeleton).setAnimation(0, '林齐倒地愤怒1', true)
|
|
this.scheduleOnce(() => {
|
|
laoPo.getComponent(sp.Skeleton).setAnimation(0, '老婆无开除信说话', true)
|
|
linQi.getComponent(sp.Skeleton).setAnimation(0, '林齐倒地愤怒1待机', true)
|
|
}, 1)
|
|
this.showQiPao(ChadianConfig.chadianLog[1], () => {
|
|
laoPo.getComponent(sp.Skeleton).setAnimation(0, '老婆无开除信待机', true)
|
|
// this.node.getChildByName('mainNode').getChildByName('touchAreaZhi').active = true
|
|
// this.guideStep(2);
|
|
cc.tween(this.node.getChildByName('zhiFangDaNode'))
|
|
.set({ active: true, scale: 0.1 })
|
|
.to(0.3, { x: 0, y: 0, scale: 1 })
|
|
.call(() => {
|
|
this.node.getChildByName('zhiFangDaNode').getChildByName('maskSp').active = true
|
|
this.node.getChildByName('zhiFangDaNode').getChildByName('btnRight').active = true
|
|
})
|
|
.start()
|
|
});
|
|
});
|
|
} else if (this.taiCiIndex == 1) {
|
|
Common5.ReportDY("inLevel", '开场剧情点位3');
|
|
linQi.getComponent(sp.Skeleton).setAnimation(0, '林齐倒地愤怒2待机', true)
|
|
this.showQiPao(ChadianConfig.chadianLog[2], () => {
|
|
this.node.getChildByName('mainNode').getChildByName('taqg陈天霸').active = true
|
|
laoBan.active = true
|
|
laoBan.getComponent(sp.Skeleton).setAnimation(0, '老板出现', false)
|
|
this.scheduleOnce(() => {
|
|
laoBan.getComponent(sp.Skeleton).setAnimation(0, '老板说话', true)
|
|
laoPo.getComponent(sp.Skeleton).setAnimation(0, '老婆老板搭肩待机', true)
|
|
this.showQiPao(ChadianConfig.chadianLog[3], () => {
|
|
laoBan.getComponent(sp.Skeleton).setAnimation(0, '老板待机', true)
|
|
taiCiBtn.active = true
|
|
this.taiCiIndex = 2
|
|
taiCiBtn.getChildByName('taiCi').getComponent(cc.Label).string = `${ChadianConfig.chadianLog[4].str}`
|
|
this.guideStep(4);
|
|
});
|
|
}, 1)
|
|
});
|
|
} else if (this.taiCiIndex == 2) {
|
|
Common5.ReportDY("inLevel", '开场剧情点位4');
|
|
linQi.getComponent(sp.Skeleton).setAnimation(0, '林齐倒地愤怒3待机', true)
|
|
this.showQiPao(ChadianConfig.chadianLog[4], () => {
|
|
laoBan.getComponent(sp.Skeleton).setAnimation(0, '老板说话', true)
|
|
this.showQiPao(ChadianConfig.chadianLog[5], () => {
|
|
this.node.getChildByName('mainNode').getChildByName('taqg陈天霸').active = false
|
|
this.node.getChildByName('mainNode').getChildByName('tag老婆').active = false
|
|
this.node.getChildByName('mainNode').getChildByName('tag我2').active = false
|
|
|
|
laoBan.getComponent(sp.Skeleton).setAnimation(0, '老板待机', true)
|
|
// laoBan.getComponent(sp.Skeleton).setAnimation(0, '老板消失', false)
|
|
// laoPo.getComponent(sp.Skeleton).setAnimation(0, '老婆消失', false)
|
|
laoBan.active = false
|
|
laoPo.active = false
|
|
beiMian.active = true
|
|
this.node.getChildByName('mainNode').getChildByName('按钮台词2').active = true
|
|
this.node.getChildByName('mainNode').getChildByName('按钮台词3').active = true
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
onTaiCiBtnClick2(event, custom) {
|
|
Common5.ReportDY("inLevel", '开场剧情点位5');
|
|
this.node.getChildByName('mainNode').getChildByName('按钮台词2').active = false
|
|
this.node.getChildByName('mainNode').getChildByName('按钮台词3').active = false
|
|
|
|
let beiMian = this.node.getChildByName('mainNode').getChildByName('背面')
|
|
let linQi = this.node.getChildByName('mainNode').getChildByName('林齐')
|
|
linQi.active = false
|
|
|
|
let linQiBaoFa = this.node.getChildByName('mainNode').getChildByName('林齐爆发')
|
|
linQiBaoFa.active = true
|
|
linQiBaoFa.getComponent(sp.Skeleton).setAnimation(0, '林齐爆发', false)
|
|
Common5.playEffectCustom('KaiChangGuanQia1', 'sound/衣服炸开')
|
|
this.scheduleOnce(() => {
|
|
linQiBaoFa.getComponent(sp.Skeleton).setAnimation(0, '爆发待机', true)
|
|
if (custom == 0) {
|
|
this.showQiPao(ChadianConfig.chadianLog[6], () => {
|
|
beiMian.getComponent(sp.Skeleton).setAnimation(0, '离开', false)
|
|
this.showZhuanChang()
|
|
});
|
|
} else {
|
|
this.showQiPao(ChadianConfig.chadianLog[7], () => {
|
|
beiMian.getComponent(sp.Skeleton).setAnimation(0, '离开', false)
|
|
this.showZhuanChang()
|
|
});
|
|
}
|
|
|
|
}, 1)
|
|
|
|
}
|
|
|
|
//转场
|
|
showZhuanChang() {
|
|
// cc.tween(this.node.getChildByName('mainNode'))
|
|
// .to(0.2, { scale: 2 })
|
|
// .delay(1.5)
|
|
// .to(0.3, { scale: 0.9 })
|
|
// .start();
|
|
// let linQiBaoFa = this.node.getChildByName('mainNode').getChildByName('林齐爆发')
|
|
// linQiBaoFa.getComponent(sp.Skeleton).setAnimation(0, '消失', false)
|
|
this.scheduleOnce(() => {
|
|
TaskManager.setCurUnLockMainTaskInfo(MainTaskIdEnum.MainTask_101)
|
|
JuQingManager.unLockNewJuQing('WX_101')
|
|
User.setFirstStepIndex(2)
|
|
PrefabManage.loadPrefabByType(Common5.selectGameInfo.roomIndex)
|
|
this.node.removeFromParent()
|
|
this.node.destroy()
|
|
// Common5.releaseBundleAssets('KaiChangGuanQia1')
|
|
}, 6)
|
|
}
|
|
}
|
|
|