// 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 ShouGouHeTong from "../DH/ShouGouHeTong"; import UiBase from "../GameBase/UiBase"; import YiMaJiang from "../GameMethodRes/YiMaJiang/YiMaJiang"; import JuQingManager from "../JuQingChat/JuQingManager"; import TaskManager, { MainTaskIdEnum } from "../JuQingChat/TaskManager"; import LevelUpManager from "../Manager/LevelUpManager"; import MiShuManager from "../Manager/MiShuManager"; import ShipuManager from "../Manager/ShipuManager"; import TanWeiManager from "../Manager/TanWeiManager"; import UserManager from "../Manager/UserManager"; import ZiChanManager from "../Manager/ZiChanManager"; import NewGuideScript from "../NewGuide/NewGuideScript"; import PrefabManage, { GameType } from "../PrefabManager/PrefabManage"; const { ccclass, property } = cc._decorator; @ccclass export default class CityScript extends UiBase { @property(cc.Sprite) chenghaoPic: cc.Sprite = null; @property(cc.Label) levelLab: cc.Label = null; @property(cc.Label) chenghao: cc.Label = null; @property(cc.Label) clickMoneyLab: cc.Label = null; // onLoad () {} @property(cc.Label) secondMoneyLab: cc.Label = null; // LIFE-CYCLE CALLBACKS: // onLoad () {} buildArray = ['后山', '美食城', '拍卖行', '厨师协会', '公益协会', '豪华游轮', '茶场', '钓鱼场', '农贸市场', '花卉基地'] unlockArray = [MainTaskIdEnum.MainTask_528, -1, MainTaskIdEnum.MainTask_509, MainTaskIdEnum.MainTask_512, -1, -1, MainTaskIdEnum.MainTask_548, MainTaskIdEnum.MainTask_512, MainTaskIdEnum.MainTask_524, MainTaskIdEnum.MainTask_555] unlockStrArray = ["28", -1, "9", "12", -1, -1, "48", "12", "24", "55"] gameTypeArray = [GameType.XiuXianNongZhuang, false, GameType.Paimaihang, GameType.ChuShiXieHui, GameType.WZ_firstLevelSelectView, GameType.YiMaJiang, GameType.ChaChang, GameType.HJHA, GameType.ShiCaiHuiShou, GameType.BaiCaoJi] // levelLimitArray = [1250,1200,900,9999,1,400,1,700,550,1] levelLimitArray = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] onDestroy(): void { cc.audioEngine.stopMusic() } start() { EventMgr.onEvent_custom(ryw_Event.changeScene, () => { console.log('changeScene++=City') this.node.removeFromParent() this.node.destroy() }, this) Common5.playRemoteAudioMusic('sound/JuQingBG/城市的背景音') let myLevel = User.getMyLevel() let count = this.buildArray.length; let i = 0 let pushArray = [] this.schedule(() => { let nodeName = this.buildArray[i] let levelNum = this.levelLimitArray[i] let node = this.node.getChildByName(nodeName) if (node) { let title = node.getChildByName(nodeName) let lock = node.getChildByName('lock') let lock_task = node.getChildByName('lock_task') let getCurTaskId = User.getCurTaskId() if (getCurTaskId[0] >= this.unlockArray[i] || this.unlockArray[i] == -1) { lock_task.active = false if (this.gameTypeArray[i]) { pushArray.push(this.gameTypeArray[i]) } } else { lock_task.getChildByName("lab").getComponent(cc.Label).string = `任务${this.unlockStrArray[i]}解锁` lock_task.active = true } // Common5.addUrlSprite_custom('CityPrefab/建筑/'+nodeName, node.getComponent(cc.Sprite)) // Common5.addUrlSprite_custom('CityPrefab/招牌/'+nodeName, title.getComponent(cc.Sprite)) // if (myLevel >= levelNum) { // lock.active = false // if (this.gameTypeArray[i]) { // pushArray.push(this.gameTypeArray[i]) // } // } else { // lock.active = true // // if(nodeName == '巡夜人总部'){ // // lock.active = false // // } // // Common5.addUrlSprite_custom('CityPrefab/未解锁建筑/'+nodeName, lock.getComponent(cc.Sprite)) // let lab2 = lock.getChildByName('lab2') // let lab = lock.getChildByName('lab') // lab2.getComponent(cc.Label).string = levelNum + '' // // if(nodeName == '远洋渔船'){ // // lab2.active = false // // lab.getComponent(cc.Label).string = '任务解锁' // // let taskArray = User.getCurTaskId() // // if(taskArray[0]>=MainTaskIdEnum.MainTask_516){ // // pushArray.push(this.gameTypeArray[i]) // // lock.active = false // // } // // } // } } i++ if (i == count) { this.scheduleOnce(() => { //预加载 PrefabManage.preloadPrefabArray(pushArray) }, 0.1) } }, 0, count - 1, 0) this.refreshHead() EventMgr.onEvent_custom(ryw_Event.setHeadImg, (img) => { this.refreshHead() }, this) this.refreshChengHao() // EventMgr.onEvent_custom(ryw_Event.levelUpChange,()=>{ // this.refreshChengHao() // },this) this.showChatBtnStatus() EventMgr.onEvent_custom(ryw_Event.levelUpChange, () => { this.refreshChengHao() this.showChatBtnStatus() }, this) this.guideTask() this.updateMainTask() EventMgr.onEvent_custom(ryw_Event.updateMainTask, () => { this.updateMainTask() this.showChatBtnStatus() }, this) } guideTask() { let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo() let mainId = mainTaskInfo.Id let config = TaskManager.getTaskConfigById(mainId) if (mainId == MainTaskIdEnum.MainTask_509) { let node = this.node.getChildByName('拍卖行') this.guideView([node]) } else if (mainId == MainTaskIdEnum.MainTask_512) { let node = this.node.getChildByName('厨师协会') this.guideView([node]) } // else if (mainId == MainTaskIdEnum.MainTask_516 && Common5.TaskGuide516) { // Common5.TaskGuide516 = false // let node = this.node.getChildByName('远洋渔船').getChildByName('远洋渔船') // this.guideView([node]) // } } guideView(nodeArray, opacity = -1) { PrefabManage.loadPrefabByType(GameType.GuideMskNode, this.node, (prefab) => { // prefab.zIndex = 199 let guideNodeArray = nodeArray let firstNode = guideNodeArray.shift() prefab.getComponent(NewGuideScript).setBindNode(firstNode, guideNodeArray) if (opacity != -1) { prefab.getComponent(NewGuideScript).setOpacityMaskNode(opacity) } }) } showChatBtnStatus() { let isHaveTask = false let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo() let mainId = mainTaskInfo.Id if (mainId != MainTaskIdEnum.MainTask_None && mainId) { isHaveTask = true } let taskNode = this.node.getChildByName('任务助手') let taskDescNode = taskNode.getChildByName('任务描述') let tanhao = taskNode.getChildByName('提示叹号') let taskLab = taskDescNode.getChildByName('lab').getComponent(cc.Label) let taskConfig = TaskManager.getTaskConfigById(mainId) if (isHaveTask) { //spineNodeTask.getComponent(sp.Skeleton).setAnimation(0,'呼吸',true) taskDescNode.active = true tanhao.active = true taskLab.string = taskConfig.TaskTittle taskNode.getComponent('ScaleScripts').startTween() } else { //spineNodeTask.getComponent(sp.Skeleton).setAnimation(0,'静止',false) taskDescNode.active = false tanhao.active = false taskNode.getComponent('ScaleScripts').stopAnim() } let notNeedBlickTask = [MainTaskIdEnum.MainTask_509, MainTaskIdEnum.MainTask_512, MainTaskIdEnum.MainTask_516_2, MainTaskIdEnum.MainTask_524, MainTaskIdEnum.MainTask_528,MainTaskIdEnum.MainTask_537,MainTaskIdEnum.MainTask_540,MainTaskIdEnum.MainTask_548,MainTaskIdEnum.MainTask_552, MainTaskIdEnum.MainTask_554_2,MainTaskIdEnum.MainTask_555 ] if (mainId != MainTaskIdEnum.MainTask_None && mainId && !notNeedBlickTask.includes(mainId)) { this.node.getChildByName("回家").getChildByName("出摊图标").getComponent(sp.Skeleton).setAnimation(0, "呼吸", true) } else { this.node.getChildByName("回家").getChildByName("出摊图标").getComponent(sp.Skeleton).setAnimation(0, "静止", false) } } refreshChengHao() { let chenghao = LevelUpManager.getChengHao() this.chenghao.string = chenghao // //this.chenghaoPic.string = chenghao // Common5.addUrlSprite_custom('jingjie/' + chenghao, this.chenghaoPic) let levelLab = User.getMyLevel() this.levelLab.string = levelLab + '' // let str1 = LevelUpManager.getCurClickIncome() // let allshouyi1 = MiShuManager.getAllIncomeMishu() // let allshouyi2 = MiShuManager.getAllIncomeDuiyou() // let allNum = allshouyi1 + allshouyi2 // let beishuSP = ShipuManager.getAllShipuInCome() // let beishuTW = TanWeiManager.getAllShipuInCome() // let mzNum = Math.floor(allNum * beishuSP * beishuTW) let str1 = LevelUpManager.getCurClickIncome() //人物点击收益(按等级算的) * 属性秘书加成属性摊位加成 * 出摊界面的点击收益按钮倍数 * 出摊界面的收益翻倍 let allshouyi1 = MiShuManager.getAllIncomeMishu()//秘书秒赚总收益(包含出摊界面的收益翻倍) // let allshouyi2 = MiShuManager.getAllIncomeDuiyou()//队友秒赚总收益(包含出摊界面的收益翻倍) // let allNum = allshouyi1 + allshouyi2 let allNum = allshouyi1 let beishuSP = ShipuManager.getAllShipuInCome()//面点界面的物品秒赚加成 let beishuTW = TanWeiManager.getAllShipuInCome() //摊位界面的物品点击加成 let chenghaoInCome = LevelUpManager.getAllChengHaoinCome() //称号倍数 let zichan = ZiChanManager.getZiChanBeiShu() // let mzNum = Math.floor(allNum * beishuSP * beishuTW) // let clickNum = Math.floor(str1 * beishuTW * chenghaoInCome) //点击收益 // let mzNum = Math.floor(allNum * beishuSP * chenghaoInCome * zichan) //秒赚收益 let clickNum = Math.floor(str1) //点击收益 let mzNum = Math.floor(allNum * beishuSP * chenghaoInCome * zichan) //秒赚收益 this.clickMoneyLab.string = '' + Common5.getNumberChangeHanzi(clickNum) + '/次' this.secondMoneyLab.string = '' + Common5.getNumberChangeHanzi(mzNum) + '/秒' } refreshHead() { let headSpr = this.node.getChildByName("head").getChildByName("头像").getComponent(cc.Sprite) Common5.addUrlSprite_custom("head/" + User.getHeadImg(), headSpr); } //buildArray = ['后山', '美食城', '拍卖行', '厨师协会', '公益协会', '豪华游轮', '茶场', '钓鱼场', '农贸市场'] clickItemEvent(event) { //Common5.playEffect("sound/按键点击") let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo() let mainId = mainTaskInfo.Id let config = TaskManager.getTaskConfigById(mainId) let name = event.target.name if (name == '后山') { this.clickKKS() } else if (name == '美食城') { // this.clickQWL() PrefabManage.showTextTips("暂未开放") } else if (name == '拍卖行') { // this.clickGW() PrefabManage.loadPrefabByType(GameType.Paimaihang) } else if (name == '厨师协会') { // // PrefabManage.showTextTips('闲杂人等,禁止靠近') PrefabManage.loadPrefabByType(GameType.ChuShiXieHui) } else if (name == '公益协会') { PrefabManage.loadPrefabByType(GameType.WZ_firstLevelSelectView) // let mainTaskInfo:any = TaskManager.getCurUnLockMainTaskInfo() // let mainId = mainTaskInfo.Id // if(mainId == MainTaskIdEnum.MainTask_523 ){ // PrefabManage.loadPrefabByType(GameType.GaiZhaoRen) // }else{ // PrefabManage.showTextTips('闲杂人等,禁止靠近') // } } else if (name == '豪华游轮') { // this.clickHJYF() PrefabManage.loadPrefabByType(GameType.YiMaJiang, null, (prefabNode) => { prefabNode.getComponent(YiMaJiang).initView(0); }) } else if (name == '茶场') { // this.clickSLC() PrefabManage.loadPrefabByType(GameType.ChaChang) } else if (name == '钓鱼场') { this.clickDY() } else if (name == '农贸市场') { // this.clickFLJ() if (mainId == MainTaskIdEnum.MainTask_524) { if (User.getMoney() >= config.taskNum) { UserManager.subMoney(config.taskNum) PrefabManage.loadPrefabByType(GameType.ShouGouHeTong, null, (node) => { node.getComponent(ShouGouHeTong).init(config.taskNum) }) TaskManager.finishCurMainTask(MainTaskIdEnum.MainTask_524) TaskManager.setCurTask(MainTaskIdEnum.MainTask_525) } else { PrefabManage.showTextTips("金钱不够") } } else if (mainId > MainTaskIdEnum.MainTask_524) { PrefabManage.loadPrefabByType(GameType.ShiCaiHuiShou) } else { PrefabManage.showTextTips("暂未收购") } } else if (name == '花卉基地') { PrefabManage.loadPrefabByType(GameType.BaiCaoJi) // this.clickFLJ() } } clickKKS() { PrefabManage.loadPrefabByType(GameType.XiuXianNongZhuang) } clickQWL() { PrefabManage.loadPrefabByType(GameType.QinWangLing) } clickGW() { PrefabManage.loadPrefabByType(GameType.HuXinGongYuan) } clickHJYF() { PrefabManage.loadPrefabByType(GameType.HuangJinYuFu) } clickDY() { PrefabManage.loadPrefabByType(GameType.HJHA) } clickFLJ() { PrefabManage.loadPrefabByType(GameType.FanLaji) } clickSLC() { PrefabManage.loadPrefabByType(GameType.ShouLieChang) } bagBtnClick() { //Common5.playEffect("sound/按键点击") PrefabManage.loadPrefabByType(GameType.BeiBao) } chatLimitLevelClick() { //Common5.playEffect("sound/按键点击") PrefabManage.showTextTips('达到对应等级后方可解锁进入') } cliclLockTaskClick() { //Common5.playEffect("sound/按键点击") PrefabManage.showTextTips('等待任务解锁') } chatListClick() { JuQingManager.openJuQingOrChat('WX') } taskClickEvent() { //Common5.playEffect("sound/按键点击") let customTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo() if (customTaskInfo && Object.keys(customTaskInfo).length > 0 && customTaskInfo.Id != MainTaskIdEnum.MainTask_None) { PrefabManage.loadPrefabByType(GameType.TaskInfoNode, this.node) } else { let taskIdArray = User.getCurTaskId() console.log(taskIdArray[0], taskIdArray[1], 'taskIdArray+cityPrefab+++++===') if (User.getCurTaskId()[0] == MainTaskIdEnum.MainTask_555 && User.getCurTaskId()[1] == 1) { PrefabManage.showTextTips('敬请期待') } else { PrefabManage.showTextTips('当前无任务') } } } clickChuTan() { //Common5.playEffect("sound/按键点击") this.closeUi() PrefabManage.loadPrefabByType(GameType.MainHall) } clickSettingBtnEvent() { //Common5.playEffect("sound/按键点击") PrefabManage.loadPrefabByType(GameType.PeopleLevelUp) } onTouchShouGou(event, customEventData) { let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo() let mainId = mainTaskInfo.Id let config = TaskManager.getTaskConfigById(mainId) let node = event.target if (customEventData == "农贸市场" && mainId == MainTaskIdEnum.MainTask_524) { if (User.getMoney() >= config.taskNum) { node.active = false UserManager.subMoney(config.taskNum) PrefabManage.loadPrefabByType(GameType.ShouGouHeTong, null, (node) => { node.getComponent(ShouGouHeTong).init(config.taskNum) }) } else { PrefabManage.showTextTips("金钱不够") } } else if (customEventData == "美食城" && mainId == MainTaskIdEnum.MainTask_550_2) { // if (User.getMoney() >= config.taskNum) { // node.active = false // UserManager.subMoney(config.taskNum) // TaskManager.finishCurMainTask(MainTaskIdEnum.MainTask_550_2) // TaskManager.setCurTask(MainTaskIdEnum.MainTask_551_1) // } else { // PrefabManage.showTextTips("金钱不够") // } } } updateMainTask() { let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo() let mainId = mainTaskInfo.Id let config = TaskManager.getTaskConfigById(mainId) if (mainId == MainTaskIdEnum.MainTask_510) { let node = this.node.getChildByName('回家') this.guideView([node]) // this.node.getChildByName("农贸市场").getChildByName("收购").active = true } else if (mainId == MainTaskIdEnum.MainTask_550_2) { // this.node.getChildByName("美食城").getChildByName("收购").active = true } //红点 let childs = ['后山', '厨师协会', '公益协会', '美食城', '拍卖行', '豪华游轮', '花卉基地', '钓鱼场', '茶场', '农贸市场'] for (let i = 0; i < childs.length; i++) { let redPoint = this.node.getChildByName(childs[i]).getChildByName("红点") if (!redPoint) { continue } if (config && config.ButtonTips && config.ButtonTips.includes(childs[i])) { redPoint.active = true } else { redPoint.active = false } } //刷新称号 let chenghao = LevelUpManager.getChengHao() this.chenghao.string = chenghao } // update (dt) {} }