觉醒时刻
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.
 
 
 
juexingshike/assets/Scripts/JuQingGuanQia/ZhuiJiaTouZiQiPao.ts

355 lines
14 KiB

import { ryw_Event } from "../../FrameWork/Event/EventEnum";
import EventMgr from "../../FrameWork/Event/EventMgr";
import User from "../../FrameWork/User/User";
import AppPlatform from "../../FrameWork/Util/AppPlatform";
import Common5 from "../../Platform/th/Common5";
import TaskManager, { MainTaskIdEnum } from "../JuQingChat/TaskManager";
import UserManager from "../Manager/UserManager";
import PrefabManage from "../PrefabManager/PrefabManage";
const { ccclass, property } = cc._decorator;
let ChadianConfig = {
chadianLog0: [
{
str: "帮我捶捶背吧。",
qiPaoPos: 2,
delay: 2.2,
effectUrl: "ZhuiJiaTouZi/帮我捶捶背吧。"
}, {
str: "轻点!",
qiPaoPos: 2,
delay: 1.8,
effectUrl: "ZhuiJiaTouZi/轻点!"
}, {
str: "舒服,太棒了!",
qiPaoPos: 2,
delay: 2.8,
effectUrl: "ZhuiJiaTouZi/舒服,太棒了!"
}
],
chadianLog1: [
{
str: "帮我递下浴袍!",
qiPaoPos: 3,
delay: 2.2,
effectUrl: "ZhuiJiaTouZi/帮我递下浴袍!"
}, {
str: "不好意思,掉了。",
qiPaoPos: -1,
delay: 1.8,
effectUrl: "ZhuiJiaTouZi/不好意思,掉了。"
}, {
str: "滚蛋!",
qiPaoPos: 3,
delay: 2.8,
effectUrl: "ZhuiJiaTouZi/滚蛋!"
}
],
chadianLog2: [
{
str: "哈哈,赢定了",
qiPaoPos: -1,
delay: 2.2,
effectUrl: "ZhuiJiaTouZi/哈哈,赢定了"
}
],
chadianLog3: [
{
str: "还挺可爱",
qiPaoPos: -1,
delay: 2,
effectUrl: "ZhuiJiaTouZi/还挺可爱"
}
],
chadianLog4: [
{
str: "你下去点,下去点,再下去点",
qiPaoPos: -1,
delay: 3,
effectUrl: "ZhuiJiaTouZi/你下去点,下去点,再下去点"
}
],
}
let JieSuoConfig = [
{ index:0,zhangJieId: 3, qiPaoIndex: 3, desc: '留下来陪陪我,会有更多投资哦', soundpath:"ZhuiJiaTouZi/留下来陪陪我,会有更多投资哦", touZiMoney: 250000, jieSuoTaskId: MainTaskIdEnum.MainTask_306, Component: "Room3", spineStrArr: ['待机', '捶背舒服'] },
{ index:1,zhangJieId: 5, qiPaoIndex: 1, desc: '还是有点醉,留下来陪我,给你追加投资。', soundpath:"ZhuiJiaTouZi/还是有点醉,留下来陪我,给你追加投资。" ,touZiMoney: 300000, jieSuoTaskId: MainTaskIdEnum.MainTask_505, Component: "Room3", spineStrArr: ['腿', '递浴衣'] },
{ index:2,zhangJieId: 8, qiPaoIndex: 1, desc: '陪我们一起玩,给你追加投资哦。', soundpath:"ZhuiJiaTouZi/陪我们一起玩,给你追加投资哦。", touZiMoney: 2000000, jieSuoTaskId: MainTaskIdEnum.MainTask_805, Component: "DH_12", spineStrArr: ['第七幕开始', '第七幕'] },
{ index:3,zhangJieId: 10, qiPaoIndex: 1, desc: '留下来陪我一起学习吧', soundpath:"ZhuiJiaTouZi/留下来陪我一起学习吧", touZiMoney: 5000000, jieSuoTaskId: MainTaskIdEnum.MainTask_1005, Component: "DH_16", spineStrArr: ['第十三幕2', '第十三幕'] },
{ index:4,zhangJieId: 13, qiPaoIndex: 3, desc: '多陪陪我,我把私房钱给你。', soundpath:"ZhuiJiaTouZi/多陪陪我,我把私房钱给你。", touZiMoney: 40000000, jieSuoTaskId: MainTaskIdEnum.MainTask_1310, Component: "Room3", spineStrArr: ['待机', '击球'] },
]
@ccclass
export default class ZhuiJiaTouZiQiPao extends cc.Component {
@property(cc.Label)
contentStr: cc.Label = null;
@property(cc.Node)
heiPingSpine: cc.Node = null;
@property(cc.Node)
beiJingNode: cc.Node = null;
@property(cc.Node)
spineNode: cc.Node = null;
@property({ type: cc.Integer, displayName: "在JieSuoConfig的下标" })
curJieSuoConfigIndex: number = 0;
// LIFE-CYCLE CALLBACKS:
// onLoad () {}
curConfig = null
isCanClickBg: boolean = false
clickBgIndex: number = 0
start() {
this.initView()
EventMgr.onEvent_custom(ryw_Event.updateMainTask, () => {
this.initView()
}, this)
}
initView() {
let noShowIndex = [] //当前场景有多个追加投资,不是当前章节的不显示
console.log("ZhuiJiaTouZiQiPao",Common5.selectGameInfo.index + 1)
for (let i = 0; i < JieSuoConfig.length; i++) {
if (JieSuoConfig[i].zhangJieId == Common5.selectGameInfo.index + 1) {
this.curConfig = JieSuoConfig[i]
// break
} else {
noShowIndex.push(i)
}
}
if (this.curConfig) {
let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo()
let mainId = mainTaskInfo.Id
if (mainId >= this.curConfig.jieSuoTaskId && !User.getIsZhuiJiaTouZiArr(this.curConfig.zhangJieId)) {
// if (mainId >= this.curConfig.jieSuoTaskId) {
this.node.active = true
this.contentStr.string = this.curConfig.desc
// if (this.curConfig.soundpath && this.curConfig.soundpath.length > 0) {
// Common5.playRemoteAudioEffect(this.curConfig.soundpath);
// }
} else {
this.node.active = false
}
} else {
this.node.active = false
}
//当前场景有多个追加投资,不是当前章节的不显示
if (noShowIndex.includes(this.curJieSuoConfigIndex)) {
this.node.active = false
}
//特定任务不显示
let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo()
let mainId = mainTaskInfo.Id
let noShowTaskIds = [MainTaskIdEnum.MainTask_314,MainTaskIdEnum.MainTask_401,MainTaskIdEnum.MainTask_402]
if (noShowTaskIds.includes(mainId)) {
this.node.active = false
}
}
finishCallFunc(delayTime) {
this.scheduleOnce(()=>{
this.beiJingNode.active = false
this.node.active = false
},delayTime)
}
sendMoney(){
User.addIsZhuiJiaTouZiArr(this.curConfig.zhangJieId)
UserManager.addMoney(this.curConfig.touZiMoney)
EventMgr.emitEvent_custom(ryw_Event.ZhuiJiaTouZi)
PrefabManage.showTextTips(`获得${Common5.getNumberChangeHanzi(this.curConfig.touZiMoney, '1', 1)}追加投资`)
}
onBtnClick() {
let callFunc = () => {
Common5.playEffectCustom('RoomCommon', 'sound/黑屏未知音效')
this.heiPingSpine.active = true
this.heiPingSpine.getComponent(sp.Skeleton).setAnimation(0, 'animation', false)
this.scheduleOnce(() => {
this.heiPingSpine.active = false
this.beiJingNode.active = true
// this.spineNode.getComponent(sp.Skeleton).setAnimation(0, this.curConfig.spineStrArr[0], true)
if(this.curConfig.index == 0){
this.sendMoney()
this.spineNode.getComponent(sp.Skeleton).setAnimation(0, '待机', true)
this.showQiPao(ChadianConfig.chadianLog0[0], () => {
this.isCanClickBg = true
this.clickBgIndex = 0
this.beiJingNode.getChildByName('手指箭头').active = true
});
}else if(this.curConfig.index == 1){
this.sendMoney()
this.spineNode.getComponent(sp.Skeleton).setAnimation(0, '腿', true)
this.showQiPao(ChadianConfig.chadianLog1[0], () => {
this.isCanClickBg = true
this.clickBgIndex = 0
this.beiJingNode.getChildByName('手指箭头').active = true
});
}else if(this.curConfig.index == 2){
this.sendMoney()
this.scheduleOnce(()=>{
this.showQiPao(ChadianConfig.chadianLog2[0], () => {
this.spineNode.getComponent(sp.Skeleton).setAnimation(0, '第七幕', false)
this.finishCallFunc(6)
});
},1.5)
}else if(this.curConfig.index == 3){
this.sendMoney()
this.scheduleOnce(()=>{
this.spineNode.getComponent(sp.Skeleton).setAnimation(0, '第十三幕', true)
this.showQiPao(ChadianConfig.chadianLog3[0], () => {
this.finishCallFunc(3)
});
},2)
}else if(this.curConfig.index == 4){
this.sendMoney()
this.scheduleOnce(()=>{
this.showQiPao(ChadianConfig.chadianLog4[0], () => {
this.spineNode.getComponent(sp.Skeleton).setAnimation(0, '击球', false)
this.finishCallFunc(4)
});
},2)
}
}, 2)
}
//第一次免费
if (this.curConfig.index == 0) {
callFunc()
return
}
let tab = {
onClose: (finish) => {
if (finish) {
let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo()
let mainId = mainTaskInfo.Id
Common5.ReportDY("inLevel", `任务${mainId}-AD-追加投资${this.curConfig.index}`);
callFunc()
}
else {
Common5.showTips_custom("广告未观看完");
}
}, onFailed: () => { }
}
AppPlatform.playVideo_custom(tab);
}
onBgClick() {
if (this.isCanClickBg) {
this.isCanClickBg = false
if(this.curConfig.index == 0){
if (this.clickBgIndex == 0) {
this.beiJingNode.getChildByName('手指箭头').active = false
this.spineNode.getComponent(sp.Skeleton).setAnimation(0, '捶背用力', true)
this.scheduleOnce(()=>{
this.showQiPao(ChadianConfig.chadianLog0[1], () => {
this.beiJingNode.getChildByName('手指箭头').active = true
this.isCanClickBg = true
this.clickBgIndex++
});
},1)
}else if (this.clickBgIndex == 1) {
this.beiJingNode.getChildByName('手指箭头').active = false
this.spineNode.getComponent(sp.Skeleton).setAnimation(0, '捶背舒服', true)
this.scheduleOnce(()=>{
this.showQiPao(ChadianConfig.chadianLog0[2], () => {
this.finishCallFunc(1)
});
},1.5)
}
}else if(this.curConfig.index == 1){
if (this.clickBgIndex == 0) {
this.beiJingNode.getChildByName('手指箭头').active = false
this.spineNode.getComponent(sp.Skeleton).setAnimation(0, '递浴衣', false)
this.scheduleOnce(()=>{
this.spineNode.getComponent(sp.Skeleton).setAnimation(0, '待机', true)
this.showQiPao(ChadianConfig.chadianLog1[1], () => {
this.scheduleOnce(()=>{
this.showQiPao(ChadianConfig.chadianLog1[2], () => {
this.finishCallFunc(0.1)
});
},1)
});
},1.5)
}
}
}
}
// update (dt) {}
//展示气泡
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.parent
let qiPao = node.getChildByName("qipao").getChildByName("qipao" + qiPaoPos_);
qiPao.stopAllActions()
this.showDialogStr(string_, qiPao.getChildByName("str"))
// qiPao.getChildByName("str").getComponent(cc.Label).string = string_
qiPao.active = true
qiPao.scale = 0
cc.tween(qiPao)
.to(0.2, { scale: 1 })
.delay(curLog.delay)
.call(() => {
qiPao.active = false;
if (func) {
func();
}
})
.start();
}
else {
let chatLog = this.node.parent.getChildByName('chatLog')
chatLog.active = true
chatLog.getChildByName("str").getComponent(cc.Label).string = string_
Common5.playRemoteAudioEffect(curLog.effectUrl);
//this.showDialogStr(string_, chatLog.getChildByName("str"))
chatLog.stopAllActions()
cc.tween(chatLog)
.delay(curLog.delay)
.call(() => {
chatLog.active = false;
})
.start();
this.scheduleOnce(() => {
func && func();
}, curLog.delay + 0.2);
}
}
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)
}
}