咸鱼的反击
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.
 
 
 

427 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 JuQingManager from "./JuQingManager";
const {ccclass, property} = cc._decorator;
@ccclass
export default class JuQingDialog extends cc.Component {
@property(cc.Node)
dialogStrL: cc.Node = null;
@property(cc.Node)
dialogStrR: cc.Node = null;
@property(cc.Node)
leftAvatar: cc.Node = null;
@property(cc.Node)
rightAvatar: cc.Node = null;
@property(cc.Node)
duihuakuangNodeLeft: cc.Node = null;
@property(cc.Node)
duihuakuangNodeRight: cc.Node = null;
@property(cc.Node)
leftPersonNameStr: cc.Node = null;
@property(cc.Node)
rightPersonNameStr: cc.Node = null;
@property(cc.String)
wenjianjiaName:string = ''
@property(cc.Boolean)
isJuqingPeopleChat:boolean = false
dialogStr:cc.Node = null
curDialogIndex:number = 0
isCanClickNext:boolean = false
isFinishDialog:boolean = false
curDialogConfig = null
curPersonConfig = null
unLockTaskId:number = -1
unLockJuQingIndex:string = ""
nextJuQingID:number = 0
curJuQingUnLockIndex:string = ''
callFunc = null
isShowFirst = true
isGuide = false
newGuideEvent2 = true
onLoad () {
}
start () {
EventMgr.onEvent_custom(ryw_Event.changeScene,()=>{
console.log('changeScene++=JuQingDialog')
this.node.removeFromParent()
this.node.destroy()
},this)
this.curJuQingUnLockIndex = JuQingManager.getCurJuQingUnLockIndex()
this.curDialogConfig = JuQingManager.getJuQingJsonByIndexStr(this.curJuQingUnLockIndex)
this.curPersonConfig = JuQingManager.getPersonJsonByIndexStr(this.curJuQingUnLockIndex)
for(let i=0;i<this.curDialogConfig.length;i++){
if(this.curDialogConfig[i].indexStr == this.curJuQingUnLockIndex){
this.curDialogIndex = this.curDialogConfig[i].id
break
}
}
this.showDialogStr()
//
if(this.isJuqingPeopleChat){
Common5.addUrlSprite_custom("head/"+this.wenjianjiaName+this.curPersonConfig.chatPersonName, this.leftAvatar.getComponent(cc.Sprite));
this.leftAvatar.setPosition(cc.v2(-1100, -200))
if(this.curPersonConfig.chatPersonName == '补天锅(器灵)'){
this.leftAvatar.setPosition(cc.v2(-1100, -100))
}
//监听事件
this.node.getChildByName('对话框').on(cc.Node.EventType.TOUCH_START, (event) => {
this.onBtnNextClick()
})
}
EventMgr.onEvent_custom(ryw_Event.swallowToucheEvent,()=>{
if(this.isJuqingPeopleChat){
//this.node.getChildByName('maskNode').active = true
let index = Common5.CommonGuideIndex
if(index != 2){
this.scheduleOnce(()=>{
this.node.getChildByName('对话框')['_touchListener'].setSwallowTouches(true);
},0.1)
//this.node.getChildByName('对话框')['_touchListener'].setSwallowTouches(true);
}
console.log(Common5.CommonGuideIndex, 'Common5.CommonGuideIndex++++++++++===')
if(index == 1){
this.guideNextChat()
Common5.CommonGuideIndex = 2
}else if(index == 2){
Common5.CommonGuideIndex = 3
}else if(index == 3){
this.guideNextChat()
Common5.CommonGuideIndex = 4
}else if(index == 4){
this.guideNextChat()
Common5.CommonGuideIndex = 5
//进行位移
let posi1 = this.leftAvatar.getPosition()
let posi2 = this.duihuakuangNodeLeft.getPosition()
let posi3 = this.dialogStrL.getPosition()
let posi4 = this.leftPersonNameStr.getPosition()
this.leftAvatar.setPosition(cc.v2(posi1.x, posi1.y-300))
this.duihuakuangNodeLeft.setPosition(cc.v2(posi2.x, posi2.y-300))
this.dialogStrL.setPosition(cc.v2(posi3.x, posi3.y-300))
this.leftPersonNameStr.setPosition(cc.v2(posi4.x, posi4.y-300))
}else if(index == 5){
this.guideNextChat()
Common5.CommonGuideIndex = 6
}
}
},this)
EventMgr.onEvent_custom(ryw_Event.juqingFirstEvent,()=>{
if(this.isJuqingPeopleChat){
let index = Common5.CommonGuideIndex
if(index == 100){
//补天锅出现
this.showDialogStr(true)
this.isGuide = false
//this.guideNextChat()
}
}
},this)
}
showDialogStr(directShow = false){
if(!this.curDialogConfig[this.curDialogIndex]){
this.node.removeFromParent()
this.node.destroy()
return
}
this.showSpineNode(directShow)
this.isCanClickNext = false
let curStr = ""
let curIndex = 0
let str = this.curDialogConfig[this.curDialogIndex].contentDesc
let callFunc = ()=>{
curStr += str[curIndex++]
this.dialogStr.getComponent(cc.Label).string = curStr
if(curIndex >= str.length){
if(this.curDialogConfig[this.curDialogIndex].isFinish){
this.isFinishDialog = true
// this.unLockTaskId = this.curDialogConfig[this.curDialogIndex].unLockTaskId
this.unLockJuQingIndex = this.curDialogConfig[this.curDialogIndex].unLockJuQingIndex
this.nextJuQingID = this.curDialogConfig[this.curDialogIndex].nextJuQingID
}
this.curDialogIndex = this.curDialogConfig[this.curDialogIndex].next
this.isCanClickNext = true
this.guideStep(str)
}
}
this.callFunc = callFunc
this.schedule( callFunc , 0.04,str.length-1)
}
showSpineNode(directShow = false){
let speaker = this.curDialogConfig[this.curDialogIndex].speaker
if(speaker == 'other'){
this.leftPersonNameStr.active = true
this.leftPersonNameStr.getComponent(cc.Label).string = this.curPersonConfig.chatPersonName
this.rightPersonNameStr.active = false
if(this.isJuqingPeopleChat){
this.duihuakuangNodeLeft.active = true
this.duihuakuangNodeRight.active = false
}else{
this.leftAvatar.active = true
this.rightAvatar.active = false
}
this.dialogStrL.active = true
this.dialogStrR.active = false
this.dialogStr = this.dialogStrL
this.dialogStr.getComponent(cc.Label).string = ''
Common5.addUrlSprite_custom("head/"+this.wenjianjiaName+this.curPersonConfig.chatPersonName, this.leftAvatar.getComponent(cc.Sprite));
if(directShow){
let posi = this.leftAvatar.getPosition()
this.leftAvatar.setPosition(-186, posi.y)
this.leftAvatar.scale = 0.1
cc.tween(this.leftAvatar)
.to(0.2, {scale:1})
.start()
}else{
if(this.isShowFirst && this.isJuqingPeopleChat){
this.isShowFirst = false
cc.tween(this.leftAvatar)
.to(0.5, {x:-186})
.start()
}
}
}else{
if(speaker == 'me'){
this.rightPersonNameStr.active = true
this.rightPersonNameStr.getComponent(cc.Label).string = '我'
this.leftPersonNameStr.active = false
if(this.isJuqingPeopleChat){
this.duihuakuangNodeLeft.active = false
this.duihuakuangNodeRight.active = true
}else{
this.leftAvatar.active = false
this.rightAvatar.active = true
}
Common5.addUrlSprite_custom("head/"+this.wenjianjiaName+'男主',this.rightAvatar.getComponent(cc.Sprite));
}else{
this.rightPersonNameStr.active = true
this.rightPersonNameStr.getComponent(cc.Label).string = speaker
this.leftPersonNameStr.active = false
if(this.isJuqingPeopleChat){
this.duihuakuangNodeLeft.active = false
this.duihuakuangNodeRight.active = true
}else{
this.leftAvatar.active = false
this.rightAvatar.active = true
}
Common5.addUrlSprite_custom("head/"+this.wenjianjiaName+speaker, this.rightAvatar.getComponent(cc.Sprite));
}
this.dialogStrL.active = false
this.dialogStrR.active = true
this.dialogStr = this.dialogStrR
this.dialogStr.getComponent(cc.Label).string = ''
}
}
onBtnNextClick(){
if(this.isGuide){
return
}
//Common5.playEffect("sound/按键点击")
if(this.curDialogConfig && this.curDialogConfig[this.curDialogIndex] && this.curDialogConfig[this.curDialogIndex].contentDesc &&this.curDialogConfig[this.curDialogIndex].contentDesc == '她这是寒气入体,不能拖太久,赶紧到迷雾森林去找几味草药。'){
EventMgr.emitEvent_custom(ryw_Event.NewGuideEvent, 3)
}else if(this.curDialogConfig && this.curDialogConfig[this.curDialogIndex] && this.curDialogConfig[this.curDialogIndex].contentDesc &&this.curDialogConfig[this.curDialogIndex].contentDesc == '夜….夜哥,我头…好痛,啊…是谁在说话,出来啊!'){
EventMgr.emitEvent_custom(ryw_Event.NewGuideEvent, 4)
}else if(this.curDialogConfig && this.curDialogConfig[this.curDialogIndex] &&
this.curDialogConfig[this.curDialogIndex].contentDesc
&&this.curDialogConfig[this.curDialogIndex].contentDesc == '敢威胁我家人,我必须干掉你!' && this.newGuideEvent2){
this.newGuideEvent2 = false
EventMgr.emitEvent_custom(ryw_Event.NewGuideEvent, 2)
}
if(!this.isCanClickNext){
this.unschedule(this.callFunc)
let str = this.curDialogConfig[this.curDialogIndex].contentDesc
this.dialogStr.getComponent(cc.Label).string = str
if(this.curDialogConfig[this.curDialogIndex].isFinish){
this.isFinishDialog = true
// this.unLockTaskId = this.curDialogConfig[this.curDialogIndex].unLockTaskId
this.unLockJuQingIndex = this.curDialogConfig[this.curDialogIndex].unLockJuQingIndex
this.nextJuQingID = this.curDialogConfig[this.curDialogIndex].nextJuQingID
}
this.curDialogIndex = this.curDialogConfig[this.curDialogIndex].next
this.isCanClickNext = true
this.guideStep(str)
return
}
if(this.isFinishDialog){
JuQingManager.finishCurJuQing(this.curJuQingUnLockIndex,this.unLockJuQingIndex)
this.node.removeFromParent()
return
}
this.showDialogStr()
}
guideNextChat(){
let str = this.curDialogConfig[this.curDialogIndex].contentDesc
this.dialogStr.getComponent(cc.Label).string = str
if(this.curDialogConfig[this.curDialogIndex].isFinish){
this.isFinishDialog = true
// this.unLockTaskId = this.curDialogConfig[this.curDialogIndex].unLockTaskId
this.unLockJuQingIndex = this.curDialogConfig[this.curDialogIndex].unLockJuQingIndex
this.nextJuQingID = this.curDialogConfig[this.curDialogIndex].nextJuQingID
}
this.curDialogIndex = this.curDialogConfig[this.curDialogIndex].next
this.isCanClickNext = true
this.guideStep(str)
if(this.isFinishDialog){
JuQingManager.finishCurJuQing(this.curJuQingUnLockIndex,this.unLockJuQingIndex)
this.node.removeFromParent()
return
}
// this.showDialogStr()
}
onBtnClose(){
while(!this.isFinishDialog){
if(this.curDialogConfig[this.curDialogIndex].isFinish){
this.isFinishDialog = true
this.unLockTaskId = this.curDialogConfig[this.curDialogIndex].unLockTaskId
this.unLockJuQingIndex = this.curDialogConfig[this.curDialogIndex].unLockJuQingIndex
this.nextJuQingID = this.curDialogConfig[this.curDialogIndex].nextJuQingID
}
this.curDialogIndex = this.curDialogConfig[this.curDialogIndex].next
}
JuQingManager.finishCurJuQing(this.curJuQingUnLockIndex,this.unLockJuQingIndex)
this.node.removeFromParent()
return
}
guideStep(str){
if(str == '首先,通过升级来提升你的级别。'){
this.isGuide = true
Common5.CommonGuideIndex = 1
this.node.getChildByName('maskNode').active = false
EventMgr.emitEvent_custom(ryw_Event.NewGuideEvent, 1)
this.rightAvatar.active = false
this.scheduleOnce(()=>{
this.node.getChildByName('对话框')['_touchListener'].setSwallowTouches(false);
},0.5)
Common5.ReportDY("inLevel", '关卡000012-开始剧情');
}else if(str == '消耗金钱升级,级别越高收益越高!'){
this.isGuide = true
this.node.getChildByName('maskNode').active = false
this.rightAvatar.active = false
this.scheduleOnce(()=>{
this.node.getChildByName('对话框')['_touchListener'].setSwallowTouches(false);
},0.5)
Common5.ReportDY("inLevel", '关卡000013-开始剧情');
}else if(str == '对了,我喜欢小姐姐,你可以雇佣几个小姐姐做助理。'){
this.isGuide = true
this.node.getChildByName('maskNode').active = false
this.rightAvatar.active = false
this.scheduleOnce(()=>{
this.node.getChildByName('对话框')['_touchListener'].setSwallowTouches(false);
},0.5)
Common5.ReportDY("inLevel", '关卡000014-开始剧情');
}else if(str == '雇佣后,不仅增加每秒的收益,后期还可以提升点击收益。'){
this.isGuide = true
this.node.getChildByName('maskNode').active = false
this.rightAvatar.active = false
this.scheduleOnce(()=>{
this.node.getChildByName('对话框')['_touchListener'].setSwallowTouches(false);
},0.5)
Common5.ReportDY("inLevel", '关卡000015-开始剧情');
}else if(str == '好啦,接下来你先赚够20万吧!'){
User.setFirstStepIndex(4)
JuQingManager.finishCurJuQing(this.curJuQingUnLockIndex,this.unLockJuQingIndex)
this.node.removeFromParent()
}else if(str == '欺负你又怎样!凑不齐钱,就拿你这个小美人来抵债,嘿嘿!'){
//EventMgr.emitEvent_custom(ryw_Event.NewGuideEvent, 2)
}else if(str == '这啥时候才能赚够20万啊。'){
this.isGuide = true
// this.scheduleOnce(()=>{
// this.isGuide = false
// },0.8)
Common5.CommonGuideIndex = 100
EventMgr.emitEvent_custom(ryw_Event.NewGuideEvent, 100)
}
}
setMengbanOpacity(opacity){
this.node.getChildByName('maskNode').opacity = opacity
}
}