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.
186 lines
5.8 KiB
186 lines
5.8 KiB
// Learn TypeScript:
|
|
// - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
|
|
// Learn Attribute:
|
|
// - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
|
|
// Learn life-cycle callbacks:
|
|
// - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
|
|
|
|
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 LevelUpManager from "../Manager/LevelUpManager";
|
|
import PrefabManage, { GameType } from "../PrefabManager/PrefabManage";
|
|
|
|
const {ccclass, property} = cc._decorator;
|
|
|
|
@ccclass
|
|
export default class FeiQiJiDi1 extends cc.Component {
|
|
|
|
@property(cc.Label)
|
|
daojishiLab: cc.Label = null;
|
|
|
|
@property(cc.Node)
|
|
daojishiNode: cc.Node = null;
|
|
|
|
@property(cc.ProgressBar)
|
|
progress: cc.ProgressBar = null;
|
|
|
|
|
|
@property(cc.Label)
|
|
proLabDi: cc.Label = null;
|
|
isDaojishi = false
|
|
_time = 0
|
|
// LIFE-CYCLE CALLBACKS:
|
|
clickMax = 30
|
|
clickIndex = 0
|
|
|
|
clickIndex2 = 0
|
|
|
|
timeMax = 10
|
|
// onLoad () {}
|
|
|
|
menBooldNum = 3000000000000 //门的血量
|
|
menBooldNumFix = 3000000000000//门的血量
|
|
|
|
peopleBooldNum = 0
|
|
clickTimeOut = null
|
|
firstClick = true
|
|
onDestroy(){
|
|
cc.audioEngine.stopMusic()
|
|
}
|
|
|
|
start () {
|
|
// 预加载动画和下一个预制体
|
|
Common5.playRemoteAudioMusic('sound/JuQingBG/废弃基地背景音')
|
|
this.scheduleOnce(()=>{
|
|
PrefabManage.preloadPrefabByType(GameType.FeiQiJiDi2)
|
|
Common5.loadRemoteSpine('Spine/FeiQiJiDi', '洛北辰')
|
|
Common5.loadRemoteSpine('Spine/FeiQiJiDi', '甄刑')
|
|
},0.1)
|
|
|
|
this.proLabDi.string = Common5.getNumberChangeHanzi(this.menBooldNum,'1',1)+'/'+Common5.getNumberChangeHanzi(this.menBooldNumFix,'1',1)
|
|
this.peopleBooldNum = LevelUpManager.getCurClickIncome()
|
|
}
|
|
|
|
protected update(dt: number): void {
|
|
if(!this.isDaojishi){
|
|
return
|
|
}
|
|
|
|
this._time+=dt
|
|
if(this._time>=1){
|
|
this._time = 0
|
|
this.clickIndex++
|
|
let tempIndex = this.timeMax - this.clickIndex
|
|
this.daojishiLab.string = `倒计时:${tempIndex}s`
|
|
if(tempIndex <= 0){
|
|
this.isDaojishi = false
|
|
//失败
|
|
let jingbaoqi = this.node.getChildByName('警报器')
|
|
this.setAnim(jingbaoqi, '警报器', true)
|
|
this.node.getChildByName('clickOpenDoor').active = false
|
|
PrefabManage.preloadPrefabByType(GameType.BoxTipNode)
|
|
|
|
this.scheduleOnce(()=>{
|
|
PrefabManage.loadPrefabByType(GameType.BoxTipNode, null, (prefab)=>{
|
|
prefab.getComponent('BoxTipScript').setViewData(2,'进入废弃基地失败,可提升等级后再次尝试', ()=>{
|
|
this.node.removeFromParent()
|
|
this.node.destroy()
|
|
PrefabManage.loadPrefabByType(GameType.FeiQiJiDi1)
|
|
}, ()=>{
|
|
//
|
|
this.endGame()
|
|
this.changeView()
|
|
})
|
|
prefab.getComponent('BoxTipScript').setBtnStr('重新开始', '直接进入')
|
|
prefab.getComponent('BoxTipScript').setCloseBtnView(true)
|
|
|
|
prefab.getComponent('BoxTipScript').setCloseFunc(()=>{
|
|
//let name = this.node.name
|
|
this.node.removeFromParent()
|
|
this.node.destroy()
|
|
//EventMgr.emitEvent_custom(ryw_Event.ExitBtnEvent, name);
|
|
})
|
|
})
|
|
},1.0)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
endGame(){
|
|
cc.tween(this.node)
|
|
.to(1.0,{opacity:0})
|
|
.call(()=>{
|
|
|
|
let name = this.node.name
|
|
this.node.removeFromParent()
|
|
this.node.destroy()
|
|
EventMgr.emitEvent_custom(ryw_Event.ExitBtnEvent, name);
|
|
})
|
|
.start()
|
|
|
|
|
|
}
|
|
|
|
|
|
changeView(){
|
|
PrefabManage.loadPrefabByType(GameType.FeiQiJiDi2)
|
|
}
|
|
|
|
setAnim(node, anim, loop = false){
|
|
node.getComponent(sp.Skeleton).setAnimation(0,anim,loop)
|
|
}
|
|
|
|
clickOpenDoorEvent(){
|
|
let tempIndex = this.timeMax - this.clickIndex
|
|
if(tempIndex <= 0){
|
|
return
|
|
}
|
|
|
|
Common5.playEffectCustom('FeiQiJiDi', '敲门')
|
|
this.menBooldNum-=this.peopleBooldNum
|
|
|
|
let tielian = this.node.getChildByName('铁链')
|
|
|
|
clearTimeout(this.clickTimeOut);
|
|
this.clickTimeOut = setTimeout(() => {
|
|
this.setAnim(tielian, '静止铁链', true)
|
|
}, 1000);
|
|
|
|
|
|
this.setAnim(tielian, '拍门', false)
|
|
if(this.firstClick){
|
|
this.daojishiNode.active = true
|
|
this.firstClick = false
|
|
this.isDaojishi = true
|
|
}
|
|
|
|
this.progress.progress = this.menBooldNum/this.menBooldNumFix
|
|
this.proLabDi.string = Common5.getNumberChangeHanzi(this.menBooldNum,'1',1)+'/'+Common5.getNumberChangeHanzi(this.menBooldNumFix,'1',1)
|
|
|
|
if(this.menBooldNum<=0){
|
|
this.node.getChildByName('clickOpenDoor').active = false
|
|
|
|
this.isDaojishi = false
|
|
//成功
|
|
this.node.getChildByName('手指箭头').active = false
|
|
|
|
this.daojishiNode.active = false
|
|
cc.tween(tielian)
|
|
.to(2, {opacity:0})
|
|
.call(()=>{
|
|
this.endGame()
|
|
this.changeView()
|
|
})
|
|
.start()
|
|
}
|
|
|
|
}
|
|
// update (dt) {}
|
|
}
|
|
|