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

2379 lines
103 KiB

import { ryw_Event } from "../../FrameWork/Event/EventEnum";
import EventMgr from "../../FrameWork/Event/EventMgr";
import VibrateMgr from "../../FrameWork/Mgr/VibrateMgr";
import GameReport, { ENTERTYPE, OUTTYPE } from "../../FrameWork/Report/ZyZyReport";
import User from "../../FrameWork/User/User";
import AppPlatform from "../../FrameWork/Util/AppPlatform";
import { DateUtils } from "../../FrameWork/Util/DateUtils";
import Common5 from "../../Platform/th/Common5";
import TTAPI from "../../Platform/tt/TTAPI";
// import PrefabManage, { GameType } from "../common/PrefabManage";
// import Setting from "../lobby/Setting";
// import ChengHaoReward from "../newGame/ChengHaoReward";
import LevelBase_xmj from "./LevelBase_xmj";
import NewDataManage_xmj, { GameSecondLevelManage_xmj } from "./NewDataManage_xmj";
// import { ShengXiaoCofig, ShengXiaoPanManager } from "./ShengXiaoPan";
// import ShouCangNewColor from "../newGame/ShouCangNewColor";
// import TaskManagerScript from "../newGame/TaskManagerScript";
import JieSuoNewColor_xmj from "./JieSuoNewColor_xmj";
import PrefabManage, { GameType } from "../PrefabManager/PrefabManage";
import SingleMaJiang from "./xmj_SingleMaJiang";
import UserManager from "../Manager/UserManager";
import LevelUpManager from "../Manager/LevelUpManager";
const { ccclass, property } = cc._decorator;
@ccclass
export default class game_xmj extends LevelBase_xmj {
@property(cc.Node)
diTu: cc.Node = null;
@property(cc.Node)
paiContent: cc.Node = null;
@property(cc.Label)
labAllxipan: cc.Label = null;
@property(cc.Node)
shouzhiNode: cc.Node = null;
@property(cc.Prefab)
singleMaJiang: cc.Prefab = null;
@property(cc.Node)
faPaiStartNode: cc.Node = null;
@property(cc.Node)
btnSendCard: cc.Node = null;
@property(cc.Node)
btnBuHuo: cc.Node = null;
// @property(cc.Node)
// btn_heCheng: cc.Node = null;
// @property(cc.Node)
// btn_xiPai: cc.Node = null;
@property(cc.Node)
jinDuProgress: cc.Node = null;
// @property(cc.Node)
// progressNode: cc.Node = null;
// @property(cc.Node)
// finishNode: cc.Node = null;
// @property(cc.Node)
// targetTuZiSpine: cc.Node = null;
// @property(cc.Node)
// nextTargetNode: cc.Node = null;
// @property(cc.Node)
// chiZiDiTu: cc.Node = null;
@property(cc.Node)
chiZiNode: cc.Node = null;
@property(cc.Node)
leftPanZiNum: cc.Node = null;
// @property(cc.Node)
// jieSuoNewColor: cc.Node = null;
@property(cc.Node)
kuCunProgress: cc.Node = null;
@property(cc.Node)
faPanDaoJiShi: cc.Node = null;
// @property(cc.Node)
// shouCangNewColor: cc.Node = null;
@property(cc.Node)
chuiZiNode: cc.Node = null;
@property(cc.Node)
moFaSpine: cc.Node = null;
//@property(cc.Node)
//todayTargetSpine: cc.Node = null;
// @property(cc.Node)
// shuiChiTiShi: cc.Node = null;
@property(cc.Node)
propLiuXIng: cc.Node = null;
@property(cc.Node)
propChuiZi: cc.Node = null;
// @property(cc.Node)
// timeNode: cc.Node = null;
// @property(cc.Node)
// addtimeNode: cc.Node = null;
fapaiNode: cc.Node = null;
curSelectLineData = []//当前已选择牌
curSelectLineIndex = -1//当前已选择列
curSelectPanZiData = []//当前已选择盘子的牌
curSelectPanZiIndex = -1//当前已选择盘子列
curTargetLineTab = []//记录移动目标列(未移完时不能再次操作)
curZIndex: number = 100
curZIndex2: number = 1000
isAction: boolean = false
isKaCao1HeChenging: boolean = false
isKaCao2HeChenging: boolean = false
isFaPaing: boolean = false
chenghaoId = 0
xinShouYinDaoStepIndex: number = 0
firstIn: boolean = false
_dt: number = 0
// isInVideo = false;
// isStartTimeSch = false;
isAllLoadFinish: boolean = false
isStartChuiZiDaoJu: boolean = false
isadd_500_panzi = false;
newColorNode: cc.Node = null;
isShouzhiShow: boolean = false;
shouziIndex = 0
public static _instance: any = null
public static getInstance() {
return game_xmj._instance
}
onLoad(): void {
super.onLoad()
this.fapaiNode = this.node.getChildByName('gameNode').getChildByName('btn_faPai')
this.refreshTaskNode()
this.refreshPropStatus()
//EventMgr.onEvent_custom(ryw_Event.RefreshTaskStatus, (bShow) => {
//this.refreshTaskNode()
//}, this);
// Common5.addMoney(28000)
}
refreshTaskNode() {
//if(TaskManagerScript.getIsCanGetRewardTask()){
//this.todayTargetSpine.getComponent(sp.Skeleton).setAnimation(0,'gantanhao',true)
//}else{
//this.todayTargetSpine.getComponent(sp.Skeleton).setAnimation(0,'putong',true)
//}
}
update(dt) {
// this._dt += dt
// if(this._dt >= 1 && this.isAllLoadFinish){
// this._dt = 0
// // this.freshLinShiKaCao()
// // NewDataManage_xmj.refreshAdsLeftTimer()
// // this.showFaPanDaoJiShi()
// }
}
start() {
game_xmj._instance = this
super.start()
// this.chenghaoId = User.getChenghaoIdMJ()
TTAPI.startRecord_custom()
this.firstIn = false
let yiXiaoChuNum = NewDataManage_xmj.getYiXiaoChuAllNum()
// if(User.getFirstIn_xmj() && yiXiaoChuNum <= 0){
this.firstIn = true
// }else{
// User.setFirstIn_xmj(false)
// }
GameSecondLevelManage_xmj.setStartCellData()
this.initStartContent()
// this.xinShouYinDaoStepIndex = User.getGuideStep_xmj()
this.checkXinShouYinDao()
// this.showFaPanDaoJiShi()
this.isAllLoadFinish = true
this.showJiesuoColorNodePecent()
// if (NewDataManage_xmj.maxTime == -1){
// NewDataManage_xmj.maxTime = NewDataManage_xmj.getChushiTime();
// }
// if (!this.isStartTimeSch){
// this.isStartTimeSch = true;
// this.updateGameTime();
// }
// Common5.btnRegister_custom(this.addtimeNode,()=>{
// this.isInVideo = true;
// let tab = {
// onClose: (finish)=>{
// this.isInVideo = false;
// if (finish) {
// Common5.ReportDY("inLevel", '游戏-AD-解锁临时区');
// NewDataManage_xmj.maxTime += NewDataManage_xmj.getAddTime();
// // this.jieSuoKaCao(true,customData)
// }
// else{
// Common5.showTips_custom("广告未观看完");
// }
// },onFailed:()=>{
// this.isInVideo = false;
// }
// }
// AppPlatform.playVideo_custom(tab)
// })
EventMgr.onEvent_custom(ryw_Event.game_restart, () => {
this.node.removeFromParent()
this.node.destroy()
}, this)
EventMgr.onEvent_custom(ryw_Event.exitToLobby, () => {
this.node.removeFromParent()
this.node.destroy()
}, this)
EventMgr.onEvent_custom(ryw_Event.reborn, () => {
Common5.ReportDY("inLevel", '复活');
NewDataManage_xmj.maxTime += NewDataManage_xmj.getAddTime();
}, this)
this.showChenghaoProgressTab()
this.setJiesuoNumLab()
this.refreshAllXipan()
this.scheduleOnce(() => {
// PrefabManage.removeLoad()
}, 1.0)
this.changeTili(false)
}
// updateGameTime(){
// this.schedule(()=>{
// if (!this.isInVideo){
// if (NewDataManage_xmj.maxTime >= 1){
// NewDataManage_xmj.maxTime--;
// if (NewDataManage_xmj.maxTime >= 0){
// let secondStr = "00";
// let second = NewDataManage_xmj.maxTime%60;
// if (second < 10){
// secondStr = "0"+second;
// }
// else{
// secondStr = second.toString();
// }
// this.timeNode.getComponent(cc.Label).string = Math.floor(NewDataManage_xmj.maxTime/60) + ":" +secondStr;
// }
// if (NewDataManage_xmj.maxTime <= 60){
// this.addtimeNode.active = true;
// this.timeNode.color = cc.color(255,0,0);
// }
// else {
// this.addtimeNode.active = false;
// this.timeNode.color = cc.color(250,250,215);
// }
// if (NewDataManage_xmj.maxTime == 0){
// //showfail
// PrefabManage.showFail();
// }
// }
// }
// },1)
// }
setJiesuoNumLab() {
let heChengQianColorNum = NewDataManage_xmj.getJieSuoColorNum()
let lab = this.jinDuProgress.getChildByName('任务目标').getChildByName('NewLabel').getComponent(cc.Label)
lab.string = `已解锁${heChengQianColorNum}种颜色`
}
//检测是否完成新手引导
checkXinShouYinDao() {
if (this.firstIn) {
// this.node.getChildByName('gameNode').getChildByName('xiWanChiJieSuoNode').active = false
this.btnSendCard.active = false
this.kuCunProgress.active = false
this.node.getChildByName('xinShouYinDaoNodeX').active = true
if (this.xinShouYinDaoStepIndex == 0) {
console.log('新手引导步骤1')
// this.node.getChildByName('gameNode').getChildByName('chiZiNode').active = false
this.paiContent.getChildByName('xinShouYinDaoNode1').active = true
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('shou1').active = true
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('qiPao1').active = true
} else if (this.xinShouYinDaoStepIndex == 1) {
console.log('新手引导步骤2')
// this.node.getChildByName('gameNode').getChildByName('chiZiNode').active = false
this.paiContent.getChildByName('xinShouYinDaoNode1').active = false
this.paiContent.getChildByName('xinShouYinDaoNode2').active = true
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('shou1').active = false
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('qiPao1').active = false
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('shou2').active = true
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('qiPao2').active = true
} else if (this.xinShouYinDaoStepIndex == 2) {
console.log('新手引导步骤3')
// this.paiContent.getChildByName('xinShouYinDaoNode2').active = false
// this.node.getChildByName('gameNode').getChildByName('chiZiNode').active = false
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('shou2').active = false
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('qiPao2').active = false
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('shou3').active = true
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('qiPao3').active = true
} else if (this.xinShouYinDaoStepIndex == 3) {
console.log('新手引导步骤4')
// this.node.getChildByName('gameNode').getChildByName('chiZiNode').active = true
this.paiContent.getChildByName('xinShouYinDaoNode2').active = false
this.chiZiNode.getChildByName('xinShouYinDaoNode3').active = true
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('shou3').active = false
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('qiPao3').active = false
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('shou4').active = true
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('qiPao4').active = true
} else if (this.xinShouYinDaoStepIndex == 4) {
console.log('新手引导步骤5')
cc.tween(this.node)
.delay(3)
.call(() => {
// this.node.getChildByName('gameNode').getChildByName('chiZiNode').active = true
this.chiZiNode.getChildByName('xinShouYinDaoNode3').active = false
this.node.getChildByName('gameNode').getChildByName('xinShouYinDaoNode4').active = true
this.btnSendCard.active = true
this.kuCunProgress.active = true
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('shou4').active = false
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('qiPao4').active = false
// this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('shou5').active = true
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('qiPao5').active = true
})
.start()
} else if (this.xinShouYinDaoStepIndex == 5) {
console.log('新手引导完成')
// this.node.getChildByName('gameNode').getChildByName('chiZiNode').active = true
this.node.getChildByName('gameNode').getChildByName('xinShouYinDaoNode4').active = false
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('shou5').active = false
this.node.getChildByName('xinShouYinDaoNodeX').getChildByName('qiPao5').active = false
this.node.getChildByName('xinShouYinDaoNodeX').active = false
// this.node.getChildByName('gameNode').getChildByName('xiWanChiJieSuoNode').active = true
this.firstIn = false
// User.setFirstIn_xmj(false)
this.btnSendCard.active = true
this.kuCunProgress.active = true
cc.tween(this.node)
.delay(0.5)
.call(() => {
PrefabManage.showTextTips('麻将机中的麻将,也可以移回到工作台。', 2)
})
.delay(3.5)
.call(() => {
PrefabManage.showTextTips('恭喜完成新手引导,继续挑战吧!')
})
.start()
}
} else {
// this.node.getChildByName('gameNode').getChildByName('chiZiNode').active = true
// this.node.getChildByName('gameNode').getChildByName('xiWanChiJieSuoNode').active = true
}
}
freshLinShiKaCao() {
let unLock9 = NewDataManage_xmj.getTempUnLockAdsStatus(9)
let unLock10 = NewDataManage_xmj.getTempUnLockAdsStatus(10)
let unLock11 = NewDataManage_xmj.getTempUnLockAdsStatus(11)
// let unLock13 = NewDataManage_xmj.getTempUnLockAdsStatus(13)
if (unLock9) {
// let times = NewDataManage_xmj.getUnlockAdsLeftTimer(9)
this.diTu.getChildByName('line_9').getChildByName('ADSuoDing').active = false
// this.paiContent.getChildByName('leftTimer_9').active = true
// this.paiContent.getChildByName('leftTimer_9').getComponent(cc.Label).string = DateUtils.formatTime3_custom(times)
} else {
this.diTu.getChildByName('line_9').getChildByName('ADSuoDing').active = true
// this.paiContent.getChildByName('leftTimer_9').active = false
// NewDataManage_xmj.clearSingleLineData(9)
// this.paiContent.getChildByName('line_9').removeAllChildren()
}
if (unLock10) {
// let times = NewDataManage_xmj.getUnlockAdsLeftTimer(10)
this.diTu.getChildByName('line_10').getChildByName('ADSuoDing').active = false
// this.paiContent.getChildByName('leftTimer_10').active = true
// this.paiContent.getChildByName('leftTimer_10').getComponent(cc.Label).string = DateUtils.formatTime3_custom(times)
} else {
this.diTu.getChildByName('line_10').getChildByName('ADSuoDing').active = true
// this.paiContent.getChildByName('leftTimer_10').active = false
// NewDataManage_xmj.clearSingleLineData(10)
// this.paiContent.getChildByName('line_10').removeAllChildren()
}
if (unLock11) {
// let times = NewDataManage_xmj.getUnlockAdsLeftTimer(11)
this.diTu.getChildByName('line_11').getChildByName('ADSuoDing').active = false
// this.paiContent.getChildByName('leftTimer_11').active = true
// this.paiContent.getChildByName('leftTimer_11').getComponent(cc.Label).string = DateUtils.formatTime3_custom(times)
} else {
this.diTu.getChildByName('line_11').getChildByName('ADSuoDing').active = true
// this.paiContent.getChildByName('leftTimer_11').active = false
// NewDataManage_xmj.clearSingleLineData(11)
// this.paiContent.getChildByName('line_11').removeAllChildren()
}
// if(unLock13){
// // let times = NewDataManage_xmj.getUnlockAdsLeftTimer(11)
// this.diTu.getChildByName('line_13').getChildByName('ADSuoDing').active = false
// // this.paiContent.getChildByName('leftTimer_11').active = true
// // this.paiContent.getChildByName('leftTimer_11').getComponent(cc.Label).string = DateUtils.formatTime3_custom(times)
// }else{
// this.diTu.getChildByName('line_13').getChildByName('ADSuoDing').active = true
// // this.paiContent.getChildByName('leftTimer_11').active = false
// // NewDataManage_xmj.clearSingleLineData(11)
// // this.paiContent.getChildByName('line_11').removeAllChildren()
// }
}
refreshAllXipan() {
let yiXiaoChuNum = NewDataManage_xmj.getYiXiaoChuAllNum()
console.log(yiXiaoChuNum, 'yiXiaoChuNum+++++++====')
if (yiXiaoChuNum >= 0 && yiXiaoChuNum < 10) {
this.labAllxipan.string = "000" + yiXiaoChuNum
} else if (yiXiaoChuNum >= 10 && yiXiaoChuNum < 100) {
this.labAllxipan.string = "00" + yiXiaoChuNum
} else if (yiXiaoChuNum >= 100 && yiXiaoChuNum < 1000) {
this.labAllxipan.string = "0" + yiXiaoChuNum
} else {
this.labAllxipan.string = yiXiaoChuNum + ''
}
}
initStartContent() {
let cellData = NewDataManage_xmj.getCellData()
for (let i = 0; i < 12; i++) {
this.paiContent.getChildByName('line_' + i).removeAllChildren()
for (let j = 0; j < cellData[i].length; j++) {
let card = cc.instantiate(this.singleMaJiang)
card.active = true
this.paiContent.getChildByName('line_' + i).addChild(card)
let scale = this.getPanZiScale(i, j)
card.scale = scale
card.x = Math.floor(Math.random() * 11) - 5 + this.getPanZiOffsetX(scale, i, j)
card.y = 10 * j
card.getComponent(SingleMaJiang).setMaJiangSpFrame(cellData[i][j])
card.attr({ lineIndex: i })
}
}
this.refreshAllKaCao()
this.initXiWanChiContent()
// this.refreshShengJiLevel()
// this.refreshXiWanChi2JieSuo()
this.refreshLeftPanZiNum()
this.refreshFinishProgress()
this.freshLinShiKaCao()
// this.refreshProgressNode(true)
// this.setTuZiSpine()
// this.refreshHeChengFlag(true)
// this.checkXiPaiBtnShow()
}
// //设置单张牌位置
// setCardPos(card,bDuiQi){
// if(bDuiQi){
// }
// card.x = Math.floor(Math.random()*11) - 5
// card.y = 10*j
// }
//设置盘子大小(上大下小,前大后小)
getPanZiScale(lineIndex, yIndex) {
let baseScale1 = 1//前大后小
if (lineIndex == 0 || lineIndex == 1 || lineIndex == 2 || lineIndex == 9) {
baseScale1 = 1
} else if (lineIndex == 3 || lineIndex == 4 || lineIndex == 5 || lineIndex == 10) {
baseScale1 = 0.95
} else if (lineIndex == 6 || lineIndex == 7 || lineIndex == 8 || lineIndex == 11) {
baseScale1 = 0.9
}
let baseScale2 = 1.3 + 0.01 * yIndex//上大下小
return baseScale1 * baseScale2
}
//获取盘子x轴的偏移量(左两列左偏,右两列右偏)
getPanZiOffsetX(scale, lineIndex, yIndex) {
let offsetX = 0
return 0
// if(lineIndex == 0 || lineIndex == 5 || lineIndex == 9){
// offsetX = -2*yIndex
// }else if(lineIndex == 1 || lineIndex == 6 || lineIndex == 10){
// offsetX = -0.8*yIndex
// }else if(lineIndex == 2 || lineIndex == 11){
// offsetX = 0
// }else if(lineIndex == 3 || lineIndex == 7 || lineIndex == 12){
// offsetX = 0.8*yIndex
// }else if(lineIndex == 4 || lineIndex == 8 || lineIndex == 13){
// offsetX = 2*yIndex
// }
// return scale*offsetX
}
//刷新已完成进度
refreshFinishProgress() {
let targetNum = NewDataManage_xmj.getGuanQiaTargetNum()
let curGuanQiaFinishNum = NewDataManage_xmj.getCurGuanQiaFinishNum()
let curGuanQiaNum = NewDataManage_xmj.getCurGuanQiaNum()
// this.jinDuProgress.getComponent(cc.ProgressBar).progress = curGuanQiaFinishNum/targetNum
// this.jinDuProgress.getChildByName('numStr').getComponent(cc.Label).string = `${Math.floor(curGuanQiaFinishNum/targetNum * 100 * 10)/10}%`//`${curGuanQiaFinishNum}/${targetNum}`
// this.jinDuProgress.getChildByName('diJiGuan').getComponent(cc.Label).string = `第${curGuanQiaNum}关`
this.refreshLeftPanZiNum();
EventMgr.emitEvent_custom(ryw_Event.freshGuanQiaProgress)
}
refreshLeftPanZiNum() {
let num = NewDataManage_xmj.getLeftPanZiNum()
let maxNum = NewDataManage_xmj.getChuShiKuCun()
this.kuCunProgress.getComponent(cc.ProgressBar).progress = num / maxNum
this.leftPanZiNum.getComponent(cc.Label).string = `${num}/${maxNum}`
let unlock_cell = NewDataManage_xmj.getUnlockCell()
//应发牌数量
let faPaiNum = (unlock_cell + 1) * 6
let leftPanZiNum = NewDataManage_xmj.getLeftPanZiNum()
if (this.firstIn) {
return
}
if (leftPanZiNum < faPaiNum) {
this.btnSendCard.active = false
this.btnBuHuo.active = true
return false
} else {
this.btnSendCard.active = true
this.btnBuHuo.active = false
// NewDataManage_xmj.subLeftPanZiNum(faPaiNum)
// this.refreshLeftPanZiNum()
return true
}
}
onBtnJieSuoXiWanChiClick() {
// let jieSuoMoney = NewDataManage_xmj.getKaCaoJieSuoCoin('ChiZi_13')
// let money = Common5.getCurMoney()
// if(money >= jieSuoMoney){
// Common5.subMoney(jieSuoMoney)
// NewDataManage_xmj.setUnlockAdsXiWanChi2(true)
// this.refreshXiWanChi2JieSuo()
// PrefabManage.showTextTips('解锁成功')
// }else{
// PrefabManage.showTextTips('金币不足')
// }
let tab = {
onClose: (finish) => {
if (finish) {
GameReport.ADReport('解锁洗碗池', 1, '洗麻将')
Common5.ReportDY("inLevel", '游戏-AD-解锁洗碗池');
NewDataManage_xmj.setUnlockAdsXiWanChi2(true)
this.refreshXiWanChi2JieSuo()
PrefabManage.showTextTips('解锁成功')
}
else {
GameReport.ADReport('解锁洗碗池', 0, '洗麻将')
Common5.showTips_custom("广告未观看完");
}
}, onFailed: () => {
}
}
AppPlatform.playVideo_custom(tab)
}
refreshXiWanChi2JieSuo() {
let unlock_adsXiWanChi2 = NewDataManage_xmj.getUnlockAdsXiWanChi2()
if (unlock_adsXiWanChi2) {
this.chiZiNode.getChildByName('chiZi_15').active = true
// this.chiZiDiTu.getChildByName('chiZi_15').active = true
// this.node.getChildByName('gameNode').getChildByName('xiWanChiJieSuoNode').active = false
} else {
this.chiZiNode.getChildByName('chiZi_15').active = false
// this.chiZiDiTu.getChildByName('chiZi_15').active = false
// this.node.getChildByName('gameNode').getChildByName('xiWanChiJieSuoNode').active = true
}
// let jieSuoMoney = NewDataManage_xmj.getKaCaoJieSuoCoin('ChiZi_13')
// this.chiZiNode.getChildByName('xiWanChiJieSuoNode').getChildByName('money').getComponent(cc.Label).string = ''+jieSuoMoney
}
initXiWanChiContent() {
let cellData = NewDataManage_xmj.getCellData()
for (let i = 12; i <= 12; i++) {
for (let j = 0; j < cellData[i].length; j++) {
let card = cc.instantiate(this.singleMaJiang)
card.active = true
// this.chiZiNode.getChildByName('chiZi_'+i).addChild(card)
this.chiZiNode.getChildByName('chiZi_' + i).getChildByName('panZi_' + (j % 24)).addChild(card)
card.x = 0
card.y = 0
card.getComponent(SingleMaJiang).setMaJiangSpFrame(cellData[i][j])
card.attr({ lineIndex: i })
}
}
// let coinNum = NewDataManage_xmj.getKaCaoJieSuoCoin('ChiZi_13')
// this.chiZiNode.getChildByName('kaCaoNode1').getChildByName('money').getComponent(cc.Label).string = ''+ coinNum
}
// checkXiPaiBtnShow(){
// let kongGeNum = NewDataManage_xmj.getAllKongGeNum()
// if(kongGeNum >= 8){
// this.btn_xiPai.active = false
// }else{
// this.btn_xiPai.active = true
// }
// }
onLineClick(customData) {
console.log('选中音效')
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/选中")
VibrateMgr.vibrateShort_custom();
//目标列正在操作中
if (this.curTargetLineTab.indexOf(customData) > -1) {
return
}
if (this.isAction || this.isFaPaing) {
return
}
// if(this.isAction){
// return
// }
if (customData == 12 && this.isKaCao1HeChenging) {
return
} else if (customData == 13 && this.isKaCao2HeChenging) {
return
}
if (this.firstIn) {
if (customData == 1) {
if (this.curSelectLineData.length > 0) {
return
}
if (this.xinShouYinDaoStepIndex == 0) {
this.xinShouYinDaoStepIndex++
// User.setGuideStep_xmj(this.xinShouYinDaoStepIndex)
this.checkXinShouYinDao()
} else {
return
}
} else if (customData == 0) {
if (this.xinShouYinDaoStepIndex == 1) {
this.xinShouYinDaoStepIndex++
// User.setGuideStep_xmj(this.xinShouYinDaoStepIndex)
this.checkXinShouYinDao()
} else if (this.xinShouYinDaoStepIndex == 2) {
this.xinShouYinDaoStepIndex++
// User.setGuideStep_xmj(this.xinShouYinDaoStepIndex)
this.checkXinShouYinDao()
} else {
return
}
} else if (customData == 12) {
if (this.xinShouYinDaoStepIndex == 3) {
this.xinShouYinDaoStepIndex++
// User.setGuideStep_xmj(this.xinShouYinDaoStepIndex)
this.checkXinShouYinDao()
} else {
return
}
}
}
let unlock_cell = NewDataManage_xmj.getUnlockCell()
if (parseInt(customData) == 9 || parseInt(customData) == 10 || parseInt(customData) == 11) {
//看广告解锁临时牌区
if (!NewDataManage_xmj.getTempUnLockAdsStatus(customData)) {
let tab = {
onClose: (finish) => {
if (finish) {
GameReport.ADReport('解锁临时区', 1, '洗麻将')
Common5.ReportDY("inLevel", '游戏-AD-解锁临时区');
NewDataManage_xmj.setUnlockAds(customData, true)
this.freshLinShiKaCao()
// NewDataManage_xmj.setUnlockAdsLeftTimer(customData)
// this.jieSuoKaCao(true,customData)
}
else {
GameReport.ADReport('解锁临时区', 0, '洗麻将')
Common5.showTips_custom("广告未观看完");
}
}, onFailed: () => {
}
}
AppPlatform.playVideo_custom(tab)
return
} else {
}
} else if (parseInt(customData) > unlock_cell && parseInt(customData) <= 8) {
// PrefabManage.showTextTips('该列暂未解锁')
return
}
// 使用锤子道具
if (customData <= 11) {
let childrenNum = this.paiContent.getChildByName('line_' + customData).childrenCount
if (this.isStartChuiZiDaoJu && childrenNum > 0) {
this.isAction = true
NewDataManage_xmj.clearSingleLineData(customData)
let topChild = this.paiContent.getChildByName('line_' + customData).children[childrenNum - 1]
Common5.setNodeToTargetPos(this.chuiZiNode.getChildByName('chuiZiSpine'), topChild)
this.chuiZiNode.getChildByName('chuiZiSpine').getComponent(sp.Skeleton).setAnimation(0, 'chuizi', false)
cc.tween(this.node)
.delay(0.3)
.call(() => {
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/锤子")
this.diTu.getChildByName('line_' + customData).getChildByName('missSpine').active = true
this.diTu.getChildByName('line_' + customData).getChildByName('missSpine').getComponent(sp.Skeleton).setAnimation(0, 'animation', false)
// console.log('yaSuiNumTab[i]==',i,yaSuiNumTab[i])
//牌移动及压碎
for (let k = 0; k < childrenNum; k++) {
let cardScale = this.getPanZiScale(customData, 0)
let card_pre = this.paiContent.getChildByName('line_' + customData).children[k]
let xOffset = this.getPanZiOffsetX(cardScale, customData, 0) + Math.floor(Math.random() * 11) - 5
let yOffset = 0
cc.tween(card_pre)
.to(0.2, { x: xOffset, y: yOffset, scale: cardScale }, {
onUpdate: (target, ratio: number) => {
if (card_pre.y <= 0) {
card_pre.removeFromParent()
}
}
})
.start()
}
this.scheduleOnce(() => {
this.diTu.getChildByName('line_' + customData).getChildByName('missSpine').active = false
this.isAction = false
}, 1)
})
.delay(0.8)
.call(() => {
cc.tween(this.chuiZiNode)
.to(0.2, { scale: 0 })
.call(() => {
this.chuiZiNode.active = false
})
.start()
})
.start()
this.isStartChuiZiDaoJu = false
return
}
}
//未选择牌(首次选中)
if (this.curSelectLineData.length <= 0) {
this.curSelectLineData = NewDataManage_xmj.getLineCellSelectData(customData)
//改变zIndex,可保证移动的牌在最上层
if (parseInt(customData) <= 11) {
}
//有牌被选中
if (this.curSelectLineData.length > 0) {
this.curSelectLineIndex = customData
this.selectCardAni()
} else {
this.curSelectLineIndex = -1
}
console.log('当列选中的牌数据==', this.curSelectLineData)
} else {
//重复点击了选中列(取消选中)
if (customData == this.curSelectLineIndex) {
//这里执行取消牌操作
this.cancelCardAni()
this.curSelectLineData = []
this.curSelectLineIndex = -1
//判断可否移动牌(用当前选中行数据和上次选中数据判断)
} else {
//当前选中
let curSeLineData = NewDataManage_xmj.getLineCellSelectData(customData)
let moveFunc = (canMoveData, yiPaiQianData) => {
this.moveCardNodeLine1ToLine2(canMoveData, yiPaiQianData, this.curSelectLineIndex, customData)
}
//检测并移动牌
NewDataManage_xmj.MoveCellLine1ToLine2(this.curSelectLineData, this.curSelectLineIndex, curSeLineData, customData, moveFunc)
}
}
}
// onCloseShuiChiTiShi(){
// this.shuiChiTiShi.active = false
// }
onPaiQuItemClick(event, customData) {
let unlock_cell = NewDataManage_xmj.getUnlockCell()
let money = Common5.getCurZuanShi()
let jieSuoMoney = 0
if (customData >= 0 && customData <= 8) {
jieSuoMoney = NewDataManage_xmj.getKaCaoJieSuoCoin('KaCao_' + customData)
//已解锁的上一格
if (parseInt(customData) - unlock_cell == 1) {
if (jieSuoMoney < 0) {
let tab = {
onClose: (finish) => {
if (finish) {
Common5.ReportDY("inLevel", '游戏-AD-解锁成功卡槽' + customData);
GameReport.ADReport('解锁成功卡槽', 1, '洗麻将')
NewDataManage_xmj.jieSuoUnlockCell(parseInt(customData))
this.refreshAllKaCao()
this.refreshLeftPanZiNum()
PrefabManage.showTextTips('解锁成功')
// if(customData == 4){
// // this.shuiChiTiShi.active = true
// PrefabManage.loadPrefabByType(GameType.ShuiChiTiShi)
// }
return
}
else {
GameReport.ADReport('解锁成功卡槽', 0, '洗麻将')
Common5.showTips_custom("广告未观看完");
}
}, onFailed: () => {
}
}
AppPlatform.playVideo_custom(tab)
} else {
if (money >= jieSuoMoney) {
Common5.subZuanShi(jieSuoMoney)
NewDataManage_xmj.jieSuoUnlockCell(parseInt(customData))
this.refreshAllKaCao()
this.refreshLeftPanZiNum()
PrefabManage.showTextTips('解锁成功')
// if(customData == 4){
// PrefabManage.loadPrefabByType(GameType.ShuiChiTiShi)
// // this.shuiChiTiShi.active = true
// }
return
} else {
PrefabManage.showTextTips('金币不足')
return
}
}
} else if (parseInt(customData) - unlock_cell > 1) {
// PrefabManage.showTextTips('请先解锁上个格子')
return
}
}
this.onLineClick(customData)
}
onSingleCardClick(event) {
let lineIndex = event.target.lineIndex
this.onLineClick(lineIndex)
}
//贝塞尔曲线
nodeMoving(node, i, localPos, maxLength, xDis, line2DataLength, targetNode, line2Index, cardScale) { //node为做抛物线运动的节点
let startPos = node.position //起点,抛物线开始的坐标
let middlePos = cc.v2(node.position.x + /*(localPos.x-node.x)*/xDis / 4 + i / maxLength * xDis / 2, line2DataLength * 20 + localPos.y + 300 + 20 * i) //中间坐标,即抛物线最高点坐标
let destPos = localPos//cc.v2(node.position.x + 200, node.position.y) //终点,抛物线落地点
//计算贝塞尔曲线坐标函数
let twoBezier = (t: number, p1, cp, p2) => {
let x = (1 - t) * (1 - t) * p1.x + 2 * t * (1 - t) * cp.x + t * t * p2.x;
let y = (1 - t) * (1 - t) * p1.y + 2 * t * (1 - t) * cp.y + t * t * p2.y;
return cc.v2(x, y);
};
let tweenDuration: number = 0.28;
let isFlip = false
let setNodeParent = () => {
//目标节点的本地坐标
let targetLocalPos = node.getPosition()
//目标节点的世界坐标
let targetWorldPos = node.parent.convertToWorldSpaceAR(targetLocalPos)
node.parent = targetNode
//目标节点相对于当前节点父节点的本地坐标
let localPos = targetNode.convertToNodeSpaceAR(targetWorldPos)
node.setPosition(localPos)
node.lineIndex = line2Index
}
cc.tween(node)
.to(tweenDuration, { position: destPos, scale: cardScale }, {
onUpdate: (target, ratio: number) => {
if (ratio >= 0.5 && !isFlip) {
isFlip = true
node.zIndex = this.curZIndex++
}
// console.log('onUpdate===',ratio)
node.position = twoBezier(ratio, startPos, middlePos, destPos);
}
})
.delay(0.01)
.call(() => {
setNodeParent()
})
.start();
}
//移牌
moveCardNodeLine1ToLine2(canMoveData, yiPaiQianData, line1Index, line2Index) {
if (canMoveData.length <= 0) {
this.cancelCardAni()
}
//
this.curSelectLineData = []
this.curSelectLineIndex = -1
// this.isAction = true
console.log('canMoveData,line1Index,line2Index==', canMoveData, line1Index, line2Index)
//有牌可移动
if (canMoveData.length > 0) {
this.curTargetLineTab.push(line2Index)
//将line1可移动的牌移动到line2
// let cellData = NewDataManage_xmj.getCellData()
let line2CellData = yiPaiQianData[line2Index]
//临时区关闭(必须全部移出才关闭)
if ((line1Index == 9 || line1Index == 10 || line1Index == 11) && yiPaiQianData[line1Index].length == canMoveData.length) {
NewDataManage_xmj.setUnlockAds(line1Index, false)
this.freshLinShiKaCao()
// this.jieSuoKaCao(true,line1Index)
}
let delayTim1 = 0.01
let delayTim2 = 0.04
let xDis = 0
// //正常牌堆
// if(line1Index <= 11){
// xDis = this.paiContent.getChildByName('line_'+line2Index).x - this.paiContent.getChildByName('line_'+line1Index).x
// //水槽
// }else{
// xDis = this.chiZiNode.getChildByName('chiZi_'+line2Index).x - this.paiContent.getChildByName('line_'+line1Index).x
// }
let line2PosX = 0
let line1PosX = 0
let isLine1ShuiCao = (line1Index >= 12)
if (isLine1ShuiCao) {
line1PosX = this.chiZiNode.getChildByName('chiZi_' + line1Index).x
} else {
line1PosX = this.paiContent.getChildByName('line_' + line1Index).x
}
let isLine2ShuiCao = (line2Index >= 12)
if (isLine2ShuiCao) {
line2PosX = this.chiZiNode.getChildByName('chiZi_' + line2Index).x
} else {
line2PosX = this.paiContent.getChildByName('line_' + line2Index).x
}
xDis = line2PosX - line1PosX
for (let i = 0; i < canMoveData.length; i++) {
// let targetNode = this.chiZiNode.getChildByName('chiZi_'+line2Index).getChildByName('panZi_'+(i%12))
let card = null
//正常牌堆
if (!isLine1ShuiCao) {
card = this.paiContent.getChildByName('line_' + line1Index).children[canMoveData[i].index]
//水槽
} else {
card = this.chiZiNode.getChildByName('chiZi_' + line1Index).getChildByName('panZi_' + canMoveData[i].index).getChildByName('singleMaJiang')
}
let targetNode = null
//正常牌堆
if (!isLine2ShuiCao) {
targetNode = this.paiContent.getChildByName('line_' + line2Index)
//水槽
} else {
targetNode = this.chiZiNode.getChildByName('chiZi_' + line2Index).getChildByName('panZi_' + ((line2CellData.length + i) % 24))
}
if (card && targetNode) {
let cardScale = this.getPanZiScale(line2Index, line2CellData.length + i)
// console.log('cardScale===',i,cardScale)
let localPos = Common5.getNodeToTargetPos(card, targetNode)
let localPos2 = cc.v2(localPos.x + Math.floor(Math.random() * 11) - 5 + this.getPanZiOffsetX(cardScale, line2Index, line2CellData.length + i), localPos.y + (line2CellData.length + i) * 10)
if (isLine2ShuiCao) {
localPos2 = localPos
}
//进入水槽,不改缩放
if (isLine2ShuiCao) {
cardScale = 1
}
cc.tween(this.node)
.delay(delayTim1 + i * delayTim2)
.call(() => {
// console.log('盘子移动音效==')
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/盘子移动")
this.nodeMoving(card, i, localPos2, canMoveData.length, xDis, line2CellData.length, targetNode, line2Index, cardScale)
})
.start()
// cc.tween(card)
// .to(delayTim1+i*delayTim2,{x:localPos.x,y:localPos.y+(line2CellData.length+canMoveData.length-1-i)*10})
// .call(()=>{
// Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/移动牌单张音效")
// })
// .start()
//移完后更换父节点
// cc.tween(this.node)
// .delay(delayTim1+canMoveData.length*delayTim2+4)
// .call(()=>{
// card.setPosition(cc.v2(0,(line2CellData.length+canMoveData.length-1-i)*10))
// card.parent = targetNode
// })
// .start()
}
}
//移完最后一张牌回调刷新最新牌数据
this.scheduleOnce(() => {
// finishMoveAllCallFunc && finishMoveAllCallFunc(canMoveData,line1Index,line2Index)
// this.cancelCardAni()
// this.curSelectLineData = []
// this.curSelectLineIndex = -1
// this.refreshHeChengFlag(true)
// this.checkXiPaiBtnShow()
// this.isAction = false
if (line2Index >= 12 && line2Index <= 12) {
this.onBtnClickHeCheng(line2Index)
}
this.curTargetLineTab.splice(this.curTargetLineTab.indexOf(2), 1)
}, delayTim1 + canMoveData.length * delayTim2 + 0.3)
//无牌可移动
} else {
//底座抖动
VibrateMgr.vibrateShort_custom();
if (line2Index < 12) {
cc.tween(this.paiContent.getChildByName('line_' + line2Index))
.by(0.05, { x: -8 })
.by(0.05, { x: 8 })
.by(0.05, { x: -8 })
.by(0.05, { x: 8 })
.by(0.05, { x: -8 })
.by(0.05, { x: 8 })
.start()
cc.tween(this.diTu.getChildByName('line_' + line2Index))
.by(0.05, { x: -8 })
.by(0.05, { x: 8 })
.by(0.05, { x: -8 })
.by(0.05, { x: 8 })
.by(0.05, { x: -8 })
.by(0.05, { x: 8 })
.start()
} else if (line2Index >= 12) {
cc.tween(this.chiZiNode.getChildByName('chiZi_' + line2Index))
.by(0.05, { x: -8 })
.by(0.05, { x: 8 })
.by(0.05, { x: -8 })
.by(0.05, { x: 8 })
.by(0.05, { x: -8 })
.by(0.05, { x: 8 })
.start()
// cc.tween(this.chiZiDiTu.getChildByName('chiZi_'+line2Index))
// .by(0.05,{x:-8})
// .by(0.05,{x:8})
// .by(0.05,{x:-8})
// .by(0.05,{x:8})
// .by(0.05,{x:-8})
// .by(0.05,{x:8})
// .start()
}
this.cancelCardAni()
this.curSelectLineData = []
this.curSelectLineIndex = -1
this.isAction = false
}
}
//选中牌动作
selectCardAni() {
this.isAction = true
//洗碗池
if (this.curSelectLineIndex >= 12 && this.curSelectLineIndex <= 12) {
// this.chiZiNode.getChildByName('chiZi_'+i).getChildByName('panZi_'+(j%12)).addChild(card)
for (let i = 0; i < this.curSelectLineData.length; i++) {
let card = this.chiZiNode.getChildByName('chiZi_' + this.curSelectLineIndex).getChildByName('panZi_' + (this.curSelectLineData[i].index)).getChildByName('singleMaJiang')
if (card) {
let x = card.x
let y = card.y + 50
cc.tween(card)
.to(0.2, { x: 0, y: y })
.start()
}
}
} else {
for (let i = 0; i < this.curSelectLineData.length; i++) {
let cardScale = this.getPanZiScale(this.curSelectLineIndex, this.curSelectLineData[i].index)
let card = this.paiContent.getChildByName('line_' + this.curSelectLineIndex).children[this.curSelectLineData[i].index]
if (card) {
let x = card.x
let y = card.y + 20
cc.tween(card)
.to(0.2, { x: this.getPanZiOffsetX(cardScale, this.curSelectLineIndex, this.curSelectLineData[i].index), y: y })
.start()
}
}
}
this.scheduleOnce(() => {
this.isAction = false
}, 0.21)
}
//取消选中牌
cancelCardAni() {
//洗碗池
if (this.curSelectLineIndex >= 12 && this.curSelectLineIndex <= 12) {
for (let i = 0; i < this.curSelectLineData.length; i++) {
let card = this.chiZiNode.getChildByName('chiZi_' + this.curSelectLineIndex).getChildByName('panZi_' + (this.curSelectLineData[i].index)).getChildByName('singleMaJiang')
if (card) {
let x = 0
let y = card.y - 50
cc.tween(card)
.to(0.2, { x: x, y: y })
.start()
}
}
} else {
for (let i = 0; i < this.curSelectLineData.length; i++) {
let cardScale = this.getPanZiScale(this.curSelectLineIndex, this.curSelectLineData[i].index)
let card = this.paiContent.getChildByName('line_' + this.curSelectLineIndex).children[this.curSelectLineData[i].index]
if (card) {
let x = Math.floor(Math.random() * 11) - 5 + this.getPanZiOffsetX(cardScale, this.curSelectLineIndex, this.curSelectLineData[i].index)
let y = card.y - 20
cc.tween(card)
.to(0.2, { x: x, y: y })
.start()
}
}
}
}
onBtnClickBuHuo() {
let tab = {
onClose: (finish) => {
if (finish) {
Common5.ReportDY("inLevel", '游戏-AD-补货');
let maxNum = NewDataManage_xmj.getChuShiKuCun()
GameReport.ADReport('补货', 1, '洗麻将')
NewDataManage_xmj.addLeftPanZiNum(maxNum)
this.refreshLeftPanZiNum()
}
else {
GameReport.ADReport('补货', 0, '洗麻将')
Common5.showTips_custom("广告未观看完");
}
}, onFailed: () => {
}
}
AppPlatform.playVideo_custom(tab)
}
changeTili(isAdd, chiziNode?: cc.Node) {
return
console.log(isAdd, 'changeTili')
if (isAdd) {
//动画
//找到暗的电池
let node = null
for (let i = 0; i < this.fapaiNode.childrenCount; i++) {
if (this.fapaiNode.children[i].getChildByName('亮')) {
if (!this.fapaiNode.children[i].getChildByName('亮').active) {
node = this.fapaiNode.children[i]
break
}
}
}
if (!node) {
node = this.fapaiNode.children[0]
}
let posi = node.getPosition()
let dianSpine = this.fapaiNode.getChildByName('电光')
dianSpine.active = true
dianSpine.scale = 1
Common5.setNodeToTargetPos(dianSpine, chiziNode)
cc.tween(dianSpine)
.delay(1.5)
.to(0.5, { x: posi.x, y: posi.y })
.call(() => {
dianSpine.active = false
dianSpine.setPosition(cc.v2(185, 300))
let index = User.getSendPZIndex()
console.log(index, 'btn_faPai+++++++++++===')
if (index >= 2) {
index = 2
}
for (let i = 0; i < this.fapaiNode.childrenCount; i++) {
if (this.fapaiNode.children[i].getChildByName('亮')) {
this.fapaiNode.children[i].getChildByName('亮').active = false
}
}
for (let i = 0; i < index; i++) {
if (this.fapaiNode.children[i].getChildByName('亮')) {
this.fapaiNode.children[i].getChildByName('亮').active = true
}
}
})
.start()
} else {
let index = User.getSendPZIndex()
console.log(index, 'btn_faPai+++++++++++===')
if (index >= 2) {
index = 2
}
for (let i = 0; i < this.fapaiNode.childrenCount; i++) {
if (this.fapaiNode.children[i].getChildByName('亮')) {
this.fapaiNode.children[i].getChildByName('亮').active = false
}
}
for (let i = 0; i < index; i++) {
if (this.fapaiNode.children[i].getChildByName('亮')) {
this.fapaiNode.children[i].getChildByName('亮').active = true
}
}
}
}
onBtnClickFaPai2() {
console.log('this.isFaPaing?==', this.isFaPaing)
if (this.isAction || this.isFaPaing) {
return
}
if (this.firstIn) {
this.xinShouYinDaoStepIndex++
// User.setGuideStep_xmj(this.xinShouYinDaoStepIndex)
this.checkXinShouYinDao()
}
if (NewDataManage_xmj.checkIsCanSendCard()) {
PrefabManage.showTextTips('工作台已满不可继续发盘!', 2)
return
}
// if(!NewDataManage_xmj.isCanContinueGame()){
// this.shouziIndex++
// if(this.shouziIndex>=2){
// PrefabManage.showTextTips('走不动了吗?快使用变色道具吧!',5)
// this.shouziIndex = 0
// this.shouzhiNode.active = true
// if(this.isShouzhiShow){
// }else{
// this.isShouzhiShow = true
// this.scheduleOnce(()=>{
// this.isShouzhiShow = false
// this.shouzhiNode.active = false
// },5.0)
// }
// }else{
// PrefabManage.showTextTips('发牌机电量不⾜, 运转麻将机可为发牌机充电',2)
// }
// return
// }
NewDataManage_xmj.subSendPZIndex()
// Common5.curGameSendCard++
Common5.onHideState.sendCardTimes++
this.changeTili(false)
this.isFaPaing = true
let unlock_cell = NewDataManage_xmj.getUnlockCell()
//应发牌数量
let faPaiNum = (unlock_cell + 1) * 6
let leftPanZiNum = NewDataManage_xmj.getLeftPanZiNum()
if (leftPanZiNum < faPaiNum) {
PrefabManage.showTextTips('剩余盘子数量不足,请补货')
this.refreshLeftPanZiNum()
this.isFaPaing = false
return
} else {
NewDataManage_xmj.subLeftPanZiNum(faPaiNum)
this.refreshLeftPanZiNum()
}
this.btnSendCard.opacity = 150
this.cancelCardAni()
this.curSelectLineData = []
this.curSelectLineIndex = -1
// let cellData = NewDataManage_xmj.getCellData()
let sendCardCallFunc = (faPaiData, faPaiQianData, faPaiHouData, yaSuiNumTab) => {
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/麻将发牌")
let delayTim1 = 0.01
let delayTim2 = 0.04
let delayTim3 = 0.02
let isHaveYaSui = false//是否有压碎的情况
for (let n = 0; n < yaSuiNumTab.length; n++) {
if (yaSuiNumTab[n] > 0) {
isHaveYaSui = true
console.log('isHaveYaSui===true')
}
}
for (let i = 0; i <= unlock_cell; i++) {
let lineData = faPaiData['line_' + i]
if (lineData) {
for (let j = 0; j < lineData.length; j++) {
let card = cc.instantiate(this.singleMaJiang)
card.active = true
card.getComponent(SingleMaJiang).setMaJiangSpFrame(lineData[j])
this.paiContent.getChildByName('line_' + i).addChild(card)
card.zIndex = this.curZIndex++
card.attr({ lineIndex: i })
let cardScale = this.getPanZiScale(i, (faPaiQianData[i].length + j))
Common5.setNodeToTargetPos(card, this.faPaiStartNode)//新加
let x = Math.floor(Math.random() * 11) - 5 + this.getPanZiOffsetX(cardScale, i, (faPaiQianData[i].length + j))
let y = (faPaiQianData[i].length + j) * 10
let localPos = Common5.getNodeToTargetPos(card, this.paiContent.getChildByName('line_' + i))//新加
let localPos2 = cc.v2(localPos.x + x, localPos.y + y)//新加
let xDis = this.paiContent.getChildByName('line_' + i).x - this.btnSendCard.x
cc.tween(this.node)
.delay(delayTim1 + delayTim3 * i + j * delayTim2 + 0.01)
.call(() => {
this.nodeMoving(card, j, localPos2, lineData.length, xDis, faPaiQianData[i].length, this.paiContent.getChildByName('line_' + i), i, cardScale)
})
.start()
}
}
//压碎数量
this.scheduleOnce(() => {
if (yaSuiNumTab[i] > 0) {
this.diTu.getChildByName('line_' + i).getChildByName('missSpine').active = true
this.diTu.getChildByName('line_' + i).getChildByName('missSpine').getComponent(sp.Skeleton).setAnimation(0, 'animation', false)
// console.log('yaSuiNumTab[i]==',i,yaSuiNumTab[i])
//牌移动及压碎
for (let k = 0; k < faPaiHouData[i].length; k++) {
let cardScale = this.getPanZiScale(i, k - yaSuiNumTab[i])
let card_pre = this.paiContent.getChildByName('line_' + i).children[k]
let xOffset = this.getPanZiOffsetX(cardScale, i, k - yaSuiNumTab[i]) + Math.floor(Math.random() * 11) - 5
let yOffset = card_pre.y - yaSuiNumTab[i] * 10
cc.tween(card_pre)
.to(0.2, { x: xOffset, y: yOffset, scale: cardScale }, {
onUpdate: (target, ratio: number) => {
if (card_pre.y < 0 && k < yaSuiNumTab[i]) {
card_pre.removeFromParent()
}
}
})
.start()
}
this.scheduleOnce(() => {
this.diTu.getChildByName('line_' + i).getChildByName('missSpine').active = false
}, 1)
}
this.scheduleOnce(() => {
if (i == unlock_cell) {
this.btnSendCard.opacity = 255
this.isFaPaing = false
}
}, 0.21)
}, delayTim1 + delayTim3 * i + lineData.length * delayTim2 + 0.3)
}
}
NewDataManage_xmj.getSendCardData(sendCardCallFunc)
// NewDataManage_xmj.setFaPaiData(sendCardCallFunc)
}
chuiziClear() {
// this.scheduleOnce(()=>{
// if(yaSuiNumTab[i] > 0){
// this.diTu.getChildByName('line_'+i).getChildByName('missSpine').active = true
// this.diTu.getChildByName('line_'+i).getChildByName('missSpine').getComponent(sp.Skeleton).setAnimation(0,'animation',false)
// // console.log('yaSuiNumTab[i]==',i,yaSuiNumTab[i])
// //牌移动及压碎
// for(let k=0;k<faPaiHouData[i].length;k++){
// let cardScale = this.getPanZiScale(i,k-yaSuiNumTab[i])
// let card_pre = this.paiContent.getChildByName('line_'+i).children[k]
// let xOffset = this.getPanZiOffsetX(cardScale,i,k-yaSuiNumTab[i])+Math.floor(Math.random()*11) - 5
// let yOffset = card_pre.y-yaSuiNumTab[i]*10
// cc.tween(card_pre)
// .to(0.2,{x:xOffset,y:yOffset,scale:cardScale}, {
// onUpdate: (target, ratio: number) => {
// if(card_pre.y <0 && k<yaSuiNumTab[i]){
// card_pre.removeFromParent()
// }
// }})
// .start()
// }
// this.scheduleOnce(()=>{
// this.diTu.getChildByName('line_'+i).getChildByName('missSpine').active = false
// },1)
// }
// this.scheduleOnce(()=>{
// if(i== unlock_cell){
// this.btnSendCard.opacity = 255
// this.isFaPaing = false
// }
// },0.21)
// },delayTim1+delayTim3*i+lineData.length*delayTim2+0.3)
}
onBtnClickHeCheng(line2Index) {
// Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
// if(this.isAction ){
// return
// }
let heChengQianColorNum = NewDataManage_xmj.getJieSuoColorNum()
let heChengCallFunc = (heChengTab, heChengQianData, heChengQianColorAccount, heChengHouColorAccount) => {
if (heChengTab.length > 0) {
//Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/洗碗")
if (line2Index == 12) {
this.isKaCao1HeChenging = true
} else if (line2Index == 13) {
this.isKaCao2HeChenging = true
}
} else {
return
}
let panZiIndex = 0
if (line2Index == 12) {
panZiIndex = 0
} else if (line2Index == 13) {
panZiIndex = 1
}
let singlePanZiCoin = NewDataManage_xmj.getPerPanZiPrice(panZiIndex)
let panZiNum = 0
let addAward = 0
for (let i = 0; i < heChengTab.length; i++) {
let chiziNode = this.chiZiNode.getChildByName('chiZi_' + heChengTab[i].line)
// chiziNode.getChildByName('paoPaoSpine').active = true
// chiziNode.getChildByName('paoPaoSpine').getComponent(sp.Skeleton).setAnimation(0,'肥皂泡星星',false)
panZiNum += heChengQianData[heChengTab[i].line].length
addAward = panZiNum * singlePanZiCoin
cc.tween(this.node)
.delay(0.5 + 0.2)
.call(() => {
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/麻将消除")
this.chiZiNode.getChildByName('leftClearNode').getChildByName('spine').active = true
this.chiZiNode.getChildByName('leftClearNode').getChildByName('spine').getComponent(sp.Skeleton).setAnimation(0, 'animation', false)
this.chiZiNode.getChildByName('rightClearNode').getChildByName('spine').active = true
this.chiZiNode.getChildByName('rightClearNode').getChildByName('spine').getComponent(sp.Skeleton).setAnimation(0, 'animation', false)
})
.delay(1)
.call(() => {
this.chiZiNode.getChildByName('leftClearNode').getChildByName('spine').active = false
this.chiZiNode.getChildByName('rightClearNode').getChildByName('spine').active = false
})
.start()
for (let j = 0; j < 24; j++) {
let cardnode = chiziNode.getChildByName('panZi_' + j)
for (let k = 0; k < cardnode.childrenCount; k++) {
//向左洗牌
if (j % 12 < 6) {
let localPos = Common5.getNodeToTargetPos(cardnode.children[k], this.chiZiNode.getChildByName('leftClearNode'))
let node = cardnode.children[k]
cc.tween(node)
.delay(0.5 + (j % 6) * 0.05)
.to(0.4, { x: localPos.x, y: localPos.y, scale: 0.8 })
.call(() => {
// Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/麻将掉落")
node.removeFromParent()
})
.start()
//向右洗牌
} else {
let localPos = Common5.getNodeToTargetPos(cardnode.children[k], this.chiZiNode.getChildByName('rightClearNode'))
let node = cardnode.children[k]
cc.tween(node)
.delay(0.5 + (5 - j % 6) * 0.05)
.to(0.4, { x: localPos.x, y: localPos.y, scale: 0.8 })
.call(() => {
node.removeFromParent()
})
.start()
}
}
}
cc.tween(this.node)
.delay(1.5)
.call(() => {
// chiziNode.getChildByName('paoPaoSpine').active = false
})
.delay(0.21)
.call(() => {
NewDataManage_xmj.addCurGuanQiaFinishNum(heChengTab[i].account, (isEnterNext, callFunc) => {
this.isEnterNextGuanQia(isEnterNext, callFunc)
})
this.refreshFinishProgress()
for (let j = 0; j < 12; j++) {
let cardnode = chiziNode.getChildByName('panZi_' + j)
cardnode.removeAllChildren()
}
Common5.addZuanShi(addAward, chiziNode, this.node.getChildByName('yuanBao'))
this.changeTili(true, chiziNode)
this.refreshAllKaCao();
let addCoinNode = chiziNode.getChildByName('addCoinNode')
addCoinNode.getChildByName('coinNum').getComponent(cc.Label).string = '+' + addAward
addCoinNode.active = true
addCoinNode.scale = 0
cc.tween(addCoinNode)
.to(0.3, { scale: 1 })
.delay(1.5)
.to(0.3, { scale: 0 })
.call(() => {
addCoinNode.active = false
})
.start()
})
.start()
}
//合成并生成牌后回调刷新最新牌数据
Common5.onHideState.removeTimes++
this.showJieSuoNewColor(heChengQianColorNum)
this.jinduProgress()
this.scheduleOnce(() => {
this.showJiesuoColorNodePecent(true)
}, 2)
this.showChenghaoProgressTab()
NewDataManage_xmj.addSendPZIndex()
this.refreshAllXipan()
// if(heChengTab.length > 0){
// for(let i=0;i<heChengTab.length;i++){
// this.showShouCangNewColor(heChengTab[i].num,heChengQianColorAccount,heChengHouColorAccount)
// }
// }
this.scheduleOnce(() => {
if (line2Index == 12) {
this.isKaCao1HeChenging = false
} else if (line2Index == 13) {
this.isKaCao2HeChenging = false
}
this.scheduleOnce(() => {
this.setJiesuoNumLab()
this.onCloseJieSuoNewColorNode()
}, 0.01)
// this.isAction = false
}, 2)//这里的延时可能有问题
}
NewDataManage_xmj.checkHeCheng(line2Index, heChengCallFunc)
// if(NewDataManage_xmj.yiXiaoChuNum >= 29){
// NewDataManage_xmj.setUnlockAdsXiWanChi2(true)
// this.refreshXiWanChi2JieSuo()
// }
}
showChenghaoProgressTab() {
// let tab = NewDataManage_xmj.getChenghaoProgressTab()
// let getID = User.getChenghaoIdMJ()
// if(this.chenghaoId != getID){
// this.chenghaoId = getID
// //称号升级,给奖励
// if(tab){
// let chenghaoConfig = NewDataManage_xmj.getChenghaoConfigByid(this.chenghaoId)
// let giftNode = this.jinDuProgress.getChildByName('礼物')
// console.log("jiaqian+++++++++++=====",chenghaoConfig)
// // Common5.addMoney(chenghaoConfig.reward, giftNode, this.node.getChildByName('yuanBao'))
// if(chenghaoConfig.reward){
// PrefabManage.loadPrefabByType(GameType.ChengHaoReward, null, (prefab)=>{
// prefab.getComponent(ChengHaoReward).setViewMJData(chenghaoConfig.reward, tab.skinName)
// })
// }
// let skinName = tab.skinName
// this.jinDuProgress.getChildByName('称号皮肤').getComponent(sp.Skeleton).setSkin(skinName)
// this.jinDuProgress.getChildByName('称号皮肤').getComponent(sp.Skeleton).setAnimation(0,'faguang', false)
// //this.jinDuProgress.getComponent(cc.ProgressBar).progress = tab.needNum/tab.allNum
// //this.jinDuProgress.getChildByName('numStr').getComponent(cc.Label).string = Math.floor( tab.needNum/tab.allNum*100)+'%'
// }else{
// //this.jinDuProgress.getComponent(cc.ProgressBar).progress = 1
// //this.jinDuProgress.getChildByName('numStr').active = false
// this.jinDuProgress.getChildByName('称号皮肤').getComponent(sp.Skeleton).setAnimation(0,'putong', false)
// this.jinDuProgress.getChildByName('称号皮肤').getComponent(sp.Skeleton).setSkin('浴皇大帝')
// }
// }else{
// if(tab){
// //this.jinDuProgress.getComponent(cc.ProgressBar).progress = tab.needNum/tab.allNum
// //this.jinDuProgress.getChildByName('numStr').getComponent(cc.Label).string = Math.floor( tab.needNum/tab.allNum*100)+'%'
// let skinName = tab.skinName
// this.jinDuProgress.getChildByName('称号皮肤').getComponent(sp.Skeleton).setAnimation(0,'putong', false)
// this.jinDuProgress.getChildByName('称号皮肤').getComponent(sp.Skeleton).setSkin(skinName)
// }else{
// //this.jinDuProgress.getComponent(cc.ProgressBar).progress = 1
// //this.jinDuProgress.getChildByName('numStr').active = false
// this.jinDuProgress.getChildByName('称号皮肤').getComponent(sp.Skeleton).setAnimation(0,'putong', false)
// this.jinDuProgress.getChildByName('称号皮肤').getComponent(sp.Skeleton).setSkin('浴皇大帝')
// }
// }
}
jinduProgress() {
let daiJieSuoPZProgressTab = NewDataManage_xmj.getDaiJieSuoPZProgressTab()
let color = daiJieSuoPZProgressTab.color
let lastColor = daiJieSuoPZProgressTab.lastColor
let percent = daiJieSuoPZProgressTab.percent
console.log(daiJieSuoPZProgressTab, 'daiJieSuoPZProgressTab')
let yiXiaoChuNum = daiJieSuoPZProgressTab.yiXiaoChuNum
let nextNeedXiaoChu = daiJieSuoPZProgressTab.nextNeedXiaoChu
let oldPanzi = this.jinDuProgress.getChildByName('panzi1')
let newPanzi = this.jinDuProgress.getChildByName('panzi2')
this.setPZFame(oldPanzi, color - 1)
this.setPZFame(newPanzi, color)
if (percent >= 100) {
this.jinDuProgress.getChildByName('taskNode').active = true
percent = 100
yiXiaoChuNum = nextNeedXiaoChu
} else {
this.jinDuProgress.getChildByName('taskNode').active = false
}
this.jinDuProgress.getComponent(cc.ProgressBar).progress = percent / 100
this.jinDuProgress.getChildByName('numStr').getComponent(cc.Label).string = yiXiaoChuNum + '/' + nextNeedXiaoChu
}
showJiesuoColorNodePecent(bGame?) {
let daiJieSuoPZProgressTab = NewDataManage_xmj.getDaiJieSuoPZProgressTab()
console.log(daiJieSuoPZProgressTab, 'daiJieSuoPZProgressTab++++++++++++++===')
let color = daiJieSuoPZProgressTab.color
let lastColor = daiJieSuoPZProgressTab.lastColor
let percent = daiJieSuoPZProgressTab.percent
let yiXiaoChuNum = daiJieSuoPZProgressTab.yiXiaoChuNum
let nextNeedXiaoChu = daiJieSuoPZProgressTab.nextNeedXiaoChu
let numStr = this.node.getChildByName('jiesuoPZNode').getChildByName('numStr')
numStr.getComponent(cc.Label).string = percent + '%'
// let panzi = this.node.getChildByName('jiesuoPZNode').getChildByName('panzi')
// let qiCaiPanZi = this.node.getChildByName('jiesuoPZNode').getChildByName('qiCaiPanZi')
// if(color > 24){
// panzi.active = false
// qiCaiPanZi.active = true
// let shengXiaoId = color-25
// if(shengXiaoId > 11){
// shengXiaoId = 11
// numStr.getComponent(cc.Label).string = ''
// }
// let skinUrl = ShengXiaoPanManager.getShengXiaoUrlById(shengXiaoId)
// Common5.getSpriteFrameFromBundle("allRes", skinUrl, qiCaiPanZi.getChildByName('shengXiaoSpr').getComponent(cc.Sprite));
// }else{
// panzi.active = true
// qiCaiPanZi.active = false
// let skinUrl = 'GameRes/ui/game_xpz/texture/盘子/'+(color)+'b'
// Common5.getSpriteFrameFromBundle("allRes", skinUrl, panzi.getComponent(cc.Sprite));
// }
//进度条改为盘子收集的进度
let oldPanzi = this.jinDuProgress.getChildByName('panzi1')
let newPanzi = this.jinDuProgress.getChildByName('panzi2')
this.setPZFame(oldPanzi, color - 1)
this.setPZFame(newPanzi, color)
if (percent >= 100) {
this.jinDuProgress.getChildByName('taskNode').active = true
percent = 100
} else {
this.jinDuProgress.getChildByName('taskNode').active = false
}
this.jinDuProgress.getComponent(cc.ProgressBar).progress = percent / 100
this.jinDuProgress.getChildByName('numStr').getComponent(cc.Label).string = yiXiaoChuNum + '/' + nextNeedXiaoChu
// //收藏上一个生肖
// if(lastColor > 24 && percent == 0){
// this.showShouCangNewColor(-1,-1,-1,bGame,lastColor)
// }
// }
}
setPZFame(node, colorIndex) {
console.log(colorIndex, 'node, colorIndex+++++++++++==')
// if(colorIndex > 24){
// let shengXiaoId = colorIndex-25
// if(shengXiaoId > 11){
// shengXiaoId = 11
// }
// let skinUrl1 = 'GameRes/ui/game_xpz/texture/生肖/七彩盘子2'
// Common5.getSpriteFrameFromBundle("allRes", skinUrl1, node.getComponent(cc.Sprite));
// node.getChildByName('shengXiaoSpr').active = true
// let skinUrl = ShengXiaoPanManager.getShengXiaoUrlById(shengXiaoId)
// Common5.getSpriteFrameFromBundle("allRes", skinUrl, node.getChildByName('shengXiaoSpr').getComponent(cc.Sprite));
// }else{
// let skinUrl = 'GameRes/ui/game_xpz/texture/盘子/'+(colorIndex)+'b'
// Common5.getSpriteFrameFromBundle("allRes", skinUrl, node.getComponent(cc.Sprite));
node.getComponent(SingleMaJiang).setMaJiangSpFrame(colorIndex)
// }
}
showJieSuoNewColor(heChengQianColorNum) {
let heChengHouColorNum = NewDataManage_xmj.getSendColorTypeNumByXiaoChuNum()
console.log('heChengQianColorNum==', heChengQianColorNum)
console.log('heChengHouColorNum==', heChengHouColorNum)
if (heChengHouColorNum > heChengQianColorNum && heChengHouColorNum <= 34) {
GameReport.EnterReport(ENTERTYPE.XUANGUAN, '洗麻将-' + heChengHouColorNum)
PrefabManage.loadPrefabByType(GameType.JieSuoNewColor_xmj, this.node, (prefabNode) => {
prefabNode.getComponent(JieSuoNewColor_xmj).initView(heChengHouColorNum, (newColorNode) => {
this.newColorNode = newColorNode
})
})
//到达关卡目标,进入下一关
if (heChengHouColorNum >= NewDataManage_xmj.getGuanQiaTargetColor()) {
PrefabManage.loadPrefabByType(GameType.FinishCurGuanQia)
NewDataManage_xmj.initNewPageData()
}
}
}
freshAllShengXiaoPan() {
let cellData = NewDataManage_xmj.getCellData()
for (let i = 0; i < 12; i++) {
for (let j = 0; j < cellData[i].length; j++) {
let card = this.paiContent.getChildByName('line_' + i).children[j]
if (card) {
card.getComponent(SingleMaJiang).setMaJiangSpFrame(cellData[i][j])
}
}
}
for (let i = 12; i <= 12; i++) {
for (let j = 0; j < cellData[i].length; j++) {
for (let k = 0; k < this.chiZiNode.getChildByName('chiZi_' + i).getChildByName('panZi_' + (j % 24)).childrenCount; k++) {
let card = this.chiZiNode.getChildByName('chiZi_' + i).getChildByName('panZi_' + (j % 24)).children[k]
if (card) {
card.getComponent(SingleMaJiang).setMaJiangSpFrame(cellData[i][j])
}
}
}
}
}
showShouCangNewColor(colorIndex, heChengQianColorAccount, heChengHouColorAccount, bEnter?, lastColor?) {
// if(bEnter){
// //生肖加入收藏(恶心功能)
// NewDataManage_xmj.addXiaoChuColorNum(lastColor-1,1)
// // this.freshAllShengXiaoPan()
// TTAPI.stopRecord_custom()
// PrefabManage.loadPrefabByType(GameType.ShouCangNewColor,this.node,(prefabNode)=>{
// prefabNode.getComponent(ShouCangNewColor).initView(colorIndex,heChengQianColorAccount,heChengHouColorAccount,bEnter,lastColor,()=>{
// this.onCloseShouCangNewColorNode()
// },()=>{
// this.onBtnClickShare()
// })
// })
// // this.shouCangNewColor.active = true
// // this.shouCangNewColor.getChildByName('panZi_0').removeAllChildren()
// // this.shouCangNewColor.getChildByName('panZi_1').removeAllChildren()
// // this.shouCangNewColor.getChildByName('panZi_2').removeAllChildren()
// // let card = cc.instantiate(this.singleCard)
// // card.active = true
// // card.x = 0
// // card.y = 0
// // card.scale = 0;
// // this.shouCangNewColor.getChildByName('panZi_1').addChild(card)
// // let skinUrl2 = 'GameRes/ui/game_xpz/texture/生肖/七彩盘子2'
// // Common5.getSpriteFrameFromBundle("allRes", skinUrl2, card.getComponent(cc.Sprite));
// // card.getChildByName('shengXiaoSpr').active = true
// // let skinUrl = ShengXiaoPanManager.getShengXiaoUrlById(lastColor-25)
// // Common5.getSpriteFrameFromBundle("allRes", skinUrl, card.getChildByName('shengXiaoSpr').getComponent(cc.Sprite));
// // cc.tween(card).to(0.5,{scale:1}).start();
// }else if(colorIndex > 0 && NewDataManage_xmj.checkIsShouCangNewColor(colorIndex-1,heChengQianColorAccount,heChengHouColorAccount)){
// TTAPI.stopRecord_custom()
// PrefabManage.loadPrefabByType(GameType.ShouCangNewColor,this.node,(prefabNode)=>{
// prefabNode.getComponent(ShouCangNewColor).initView(colorIndex,heChengQianColorAccount,heChengHouColorAccount,bEnter,lastColor,()=>{
// this.onCloseShouCangNewColorNode()
// },()=>{
// this.onBtnClickShare()
// })
// })
// // this.shouCangNewColor.active = true
// // for(let i=0;i<3;i++){
// // this.shouCangNewColor.getChildByName('panZi_'+i).removeAllChildren()
// // let card = cc.instantiate(this.singleCard)
// // card.active = true
// // card.x = 0
// // card.y = 0
// // card.scale = 0;
// // this.shouCangNewColor.getChildByName('panZi_'+i).addChild(card)
// // card.getComponent(SingleCard).setGanJingSpFrame(colorIndex)
// // cc.tween(card).to(0.5,{scale:1}).start();
// // }
// }
}
onCloseJieSuoNewColorNode() {
if (!cc.isValid(this.newColorNode)) {
return
}
//console.log('this.newColorNode==',this.newColorNode)
let localPos = Common5.getNodeToTargetPos(this.newColorNode, this.jinDuProgress.getChildByName('称号皮肤'))
this.newColorNode.stopAllActions()
this.newColorNode.scale = 1
cc.tween(this.newColorNode)
.to(0.5, { scale: 0, x: localPos.x, y: localPos.y })
.call(() => {
this.newColorNode.removeFromParent()
this.newColorNode = null
})
.start()
// TTAPI.startRecord_custom()
}
onCloseShouCangNewColorNode() {
// this.shouCangNewColor.active = false
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
TTAPI.startRecord_custom()
PrefabManage.showTextTips('盘子已收入收藏馆!')
}
//洗牌
onBtnClickXiPai() {
// Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
// if(this.isAction || this.isFaPaing){
// return
// }
// this.isAction = true
let xiPaiCallFunc = (sortTab, refreshXiPaiDataFunc) => {
//洗牌前后一致时不播音效
let xiPaiRecordTab = NewDataManage_xmj.getXiPaiRecordTab()
let bEqual = Common5.checkEqualOfTwoArr(sortTab, xiPaiRecordTab)
if (!bEqual) {
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/洗牌音效")
}
console.log('上次洗牌xiPaiRecordTab==', xiPaiRecordTab)
console.log('洗牌sortTab==', sortTab)
for (let i = 0; i < 10; i++) {
for (let j = 0; j < sortTab[i].length; j++) {
let card = this.paiContent.getChildByName('line_' + sortTab[i][j].posX).getChildByName('card_' + sortTab[i][j].posY).getChildByName('singleMaJiang')
let targetNode = this.paiContent.getChildByName('line_' + i).getChildByName('card_' + j)
if (card) {
//数量10以内变更位置
if (sortTab[i][j].isMove) {
let localPos = Common5.getNodeToTargetPos(card, targetNode)
// console.log('localPos==',localPos)
cc.tween(card)
.to(0.4, { x: localPos.x, y: localPos.y })
.call(() => {
card.setPosition(cc.v2(0, 0))
card.parent = targetNode
})
.start()
//数量10以外直接删除
} else {
card.removeFromParent()
card.destroy()
}
}
}
}
//洗完牌后回调刷新最新牌数据
this.scheduleOnce(() => {
refreshXiPaiDataFunc && refreshXiPaiDataFunc()
// this.refreshHeChengFlag(true)
// this.checkXiPaiBtnShow()
this.isAction = false
}, 0.42)
}
let tab = {
onClose: (finish) => {
if (finish) {
GameReport.ADReport('洗牌', 1, '洗麻将')
Common5.ReportDY("inLevel", '游戏-AD-洗牌');
NewDataManage_xmj.xiPaiLogic(xiPaiCallFunc)
}
else {
GameReport.ADReport('洗牌', 0, '洗麻将')
Common5.showTips_custom("广告未观看完");
}
}, onFailed: () => {
}
}
AppPlatform.playVideo_custom(tab)
}
//解锁卡槽
// jieSuoKaCao(bRefresh,kaCaoIndex){
// if(!bRefresh){
// return
// }
// console.log('解锁卡槽=====',kaCaoIndex)
// let kaCaoNode = this.diTu.getChildByName('line_'+kaCaoIndex).getChildByName('kaCaoNode')
// kaCaoNode.stopAllActions()
// if(kaCaoIndex < 9){
// cc.tween(kaCaoNode)
// .to(0.3,{y:240})
// .start()
// }else{
// if(NewDataManage_xmj.getTempUnLockAdsStatus(kaCaoIndex)){
// cc.tween(kaCaoNode)
// .to(0.3,{y:240})
// .start()
// }else{
// cc.tween(kaCaoNode)
// .to(0.3,{y:0})
// .start()
// }
// }
// }
//刷新卡槽
refreshAllKaCao() {
let unlock_cell = NewDataManage_xmj.getUnlockCell()
let money = Common5.getCurZuanShi()
console.log('refreshAllKaCao++++++++++==')
for (let i = 2; i <= 8; i++) {
let jieSuoMoney = NewDataManage_xmj.getKaCaoJieSuoCoin('KaCao_' + i)
//未解锁
if (i > unlock_cell) {
if (i > unlock_cell + 1) {
this.diTu.getChildByName('line_' + i).getChildByName('keJieSuo').active = false
this.diTu.getChildByName('line_' + i).getChildByName('suoDing').active = true
this.diTu.getChildByName('line_' + i).getChildByName('jinBiNode').active = false
} else {
if (jieSuoMoney < 0) {
this.diTu.getChildByName('line_' + i).getChildByName('永久解锁').active = true
this.diTu.getChildByName('line_' + i).getChildByName('jinBiNode').active = false
this.diTu.getChildByName('line_' + i).getChildByName('keJieSuo').active = true
this.diTu.getChildByName('line_' + i).getChildByName('suoDing').active = false
} else {
if (money >= jieSuoMoney) {
this.diTu.getChildByName('line_' + i).getChildByName('keJieSuo').active = true
this.diTu.getChildByName('line_' + i).getChildByName('jinBiNode').position.y += 30;
this.diTu.getChildByName('line_' + i).getChildByName('suoDing').active = false
}
else {
this.diTu.getChildByName('line_' + i).getChildByName('keJieSuo').active = false
this.diTu.getChildByName('line_' + i).getChildByName('suoDing').active = true
}
this.diTu.getChildByName('line_' + i).getChildByName('jinBiNode').active = true
}
// this.diTu.getChildByName('line_'+i).getChildByName('suoDing').active = false
}
this.diTu.getChildByName('line_' + i).getChildByName('jinBiNode').getChildByName('money').getComponent(cc.Label).string = '' + jieSuoMoney
//已解锁
} else {
this.diTu.getChildByName('line_' + i).getChildByName('suoDing').active = false
this.diTu.getChildByName('line_' + i).getChildByName('keJieSuo').active = false
this.diTu.getChildByName('line_' + i).getChildByName('jinBiNode').active = false
this.diTu.getChildByName('line_' + i).getChildByName('永久解锁').active = false
}
}
// //临时区-暂未处理逻辑
// for(let j=10;j<=11;j++){
// }
}
// //刷新进度
// refreshProgressNode(bRefresh){
// if(!bRefresh){
// return
// }
// let curTargetMinNumber = NewDataManage_xmj.getCurTargetMinNumber()
// let curTargetNumber = NewDataManage_xmj.getCurTargetNumber()
// let num = curTargetMinNumber
// let progressIndex = 0
// for(let i=0;i<5;i++){
// if(curTargetNumber==num){
// progressIndex = i
// }
// let starNode = this.progressNode.getChildByName('starNode_'+i)
// if(num>curTargetNumber){
// starNode.getChildByName('spine').getComponent(sp.Skeleton).setAnimation(0,'1',true)
// }else if(num ==curTargetNumber){
// starNode.getChildByName('spine').getComponent(sp.Skeleton).setAnimation(0,'3',true)
// }else if(num <curTargetNumber){
// starNode.getChildByName('spine').getComponent(sp.Skeleton).setAnimation(0,'2',true)
// }
// // starNode.getChildByName('spr').active = (curTargetNumber>=num)
// starNode.getChildByName('num').getComponent(cc.Label).string = ''+num
// num ++
// //从左往右第三个数不作为目标值
// if(num - curTargetMinNumber == 3){
// num ++
// }
// }
// this.progressNode.getComponent(cc.ProgressBar).progress = 0.25*progressIndex
// }
//阶段结算
// showPeriodResult(){
// Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/cool")
// this.finishNode.active = true
// let yiJieSuoId = NewDataManage_xmj.getJieSuoTuJianId()
// console.log('解锁图鉴id==',yiJieSuoId)
// let skin = ''
// if(skinConfig[yiJieSuoId]){
// skin = skinConfig[yiJieSuoId].name
// }else{
// skin = skinConfig[0].name
// }
// this.finishNode.getChildByName('rabbitSpine').getComponent(sp.Skeleton).setSkin(skin)
// this.finishNode.getChildByName('rabbitSpine').getComponent(sp.Skeleton).setAnimation(0,'cool+',false)
// this.finishNode.getChildByName('awardStr').getComponent(cc.Label).string = `获得阶段奖励【${skin}】`
// }
//完成当前关卡
isEnterNextGuanQia(bFinish, callFunc) {
if (!bFinish) {
return
}
// Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/cool")
TTAPI.stopRecord_custom()
this.refreshFinishProgress()
User.setStatistics("smallgamemjhsCurGoLevel", User.getStatistics("smallgamemjhsCurGoLevel") + 1)
Common5.showInterstitialAd()
// this.finishNode.active = true
// this.finishNode.getChildByName('nextTargetStr').getComponent(cc.Label).string = `下一关目标:${NewDataManage_xmj.getNextGuanQiaTargetNum()}`
callFunc && callFunc()
}
//继续游戏
onBtnClickContinue() {
// this.finishNode.active = false
TTAPI.startRecord_custom()
// NewDataManage_xmj.initStartCellData()
// this.initStartContent()
}
onBtnClickShare() {
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
TTAPI.shareRecord_custom(() => {
PrefabManage.showTextTips("录屏分享成功,请继续游戏!");
}, () => {
PrefabManage.showTextTips("录屏分享功能调用失败,请稍后再试!");
})
}
protected onDestroy(): void {
super.onDestroy()
EventMgr.emitEvent_custom(ryw_Event.exitToLobby)
}
// setTuZiSpine(){
// let yiJieSuoId = NewDataManage_xmj.getJieSuoTuJianId()
// if(skinConfig[yiJieSuoId+1]){
// this.targetTuZiSpine.getComponent(sp.Skeleton).setSkin(skinConfig[yiJieSuoId+1].skinName)
// this.targetTuZiSpine.getComponent(sp.Skeleton).setAnimation(0,'daiji',true)
// }
// }
// refreshHeChengFlag(bShow){
// console.log("检测合成牌=====")
// for(let i=0;i<12;i++){
// this.diTu.getChildByName('line_'+i).getChildByName('xuanzhongSpine').active = false
// }
// if(bShow){
// let lineTab = NewDataManage_xmj.getHeChengLine()
// for(let i=0;i<lineTab.length;i++){
// this.diTu.getChildByName('line_'+lineTab[i].line).getChildByName('xuanzhongSpine').active = true
// }
// }
// }
// showNextTargetNode(){
// this.nextTargetNode.active = true
// this.nextTargetNode.scale = 0
// this.nextTargetNode.stopAllActions()
// let num = NewDataManage_xmj.getCurTargetNumber()
// this.nextTargetNode.getChildByName('str').getComponent(cc.Label).string = ''+num
// cc.tween(this.nextTargetNode)
// .to(0.5,{scale:1})
// .delay(3)
// .to(0.5,{scale:0})
// .start()
// }
onBtnClickSet() {
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
let closeGameFunc = () => {
GameReport.OUTReport(OUTTYPE.FANHUI, '洗麻将')
if (cc.isValid(this.newColorNode)) {
this.newColorNode.stopAllActions()
this.newColorNode.removeFromParent()
this.newColorNode = null
}
this.node.removeFromParent()
this.node.destroy()
EventMgr.emitEvent_custom(ryw_Event.exitToLobby)
}
//重新开始
let restartCallFunc = () => {
TTAPI.startRecord_custom()
NewDataManage_xmj.restartCurPageData()
this.initStartContent()
}
// PrefabManage.loadPrefabByType(GameType.Setting, null, (prefabNode) => {
// prefabNode.getComponent(Setting).initView(true,closeGameFunc,restartCallFunc)
// })
}
gameRestart() {
NewDataManage_xmj.restartCurPageData()
this.initStartContent()
NewDataManage_xmj.maxTime = NewDataManage_xmj.getChushiTime();
}
onBtnClickBack() {
GameReport.OUTReport(OUTTYPE.FANHUI, '洗麻将')
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
if (cc.isValid(this.newColorNode)) {
this.newColorNode.stopAllActions()
this.newColorNode.removeFromParent()
this.newColorNode = null
}
if (User.getStatistics('smallgamemjhsCurGoLevel') > 0) {
PrefabManage.loadPrefabByType(GameType.SuccessGetMoney, null, (prefab) => {
prefab.getComponent('SuccessGetMoney').setViewDate("", 5, 10)
})
}
this.node.removeFromParent()
this.node.destroy()
EventMgr.emitEvent_custom(ryw_Event.exitToLobby)
}
getTwoLineDisX(lineIndex1, lineIndex2) {
// 0,1,2,3,
// 4,5,6,7,
// 8,9,10,11
// if()
}
onBtnShengJiPanZi(event, customData) {
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
let tab = {
onClose: (finish) => {
if (finish) {
GameReport.ADReport('升级水槽', 1, '洗麻将')
Common5.ReportDY("inLevel", '游戏-AD-升级水槽' + customData);
console.log('升级盘子==', customData)
NewDataManage_xmj.addXiWanChiLevel(customData)
this.refreshShengJiLevel()
}
else {
GameReport.ADReport('升级水槽', 0, '洗麻将')
Common5.showTips_custom("广告未观看完");
}
}, onFailed: () => {
}
}
AppPlatform.playVideo_custom(tab)
}
refreshShengJiLevel() {
let levelTab = NewDataManage_xmj.getXiWanChiLevel()
this.chiZiNode.getChildByName('chiZi_14').getChildByName('levelNum').getComponent(cc.Label).string = '' + levelTab[0]
let panZiPrice0 = NewDataManage_xmj.getNextLevelPerPanZiPrice(0)
this.chiZiNode.getChildByName('chiZi_14').getChildByName('shengJiNode').getChildByName('money').getComponent(cc.Label).string = 'x' + panZiPrice0
//已满级
if (panZiPrice0 <= 0) {
this.chiZiNode.getChildByName('chiZi_14').getChildByName('shengJiNode').active = false
}
let panZiPrice1 = NewDataManage_xmj.getNextLevelPerPanZiPrice(1)
this.chiZiNode.getChildByName('chiZi_15').getChildByName('levelNum').getComponent(cc.Label).string = '' + levelTab[1]
this.chiZiNode.getChildByName('chiZi_15').getChildByName('shengJiNode').getChildByName('money').getComponent(cc.Label).string = 'x' + panZiPrice1
//已满级
if (panZiPrice1 <= 0) {
this.chiZiNode.getChildByName('chiZi_15').getChildByName('shengJiNode').active = false
}
}
onBtnTianJiaShouYe(Event) {
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
let target = Event.target
TTAPI.addToZM(() => {
// if(target){
// target.active = false
// }
})
}
showFaPanDaoJiShi() {
let buPanLeftTime = NewDataManage_xmj.getAutoBuPanTimeLeftNum()
if (buPanLeftTime > 0) {
this.isadd_500_panzi = false
this.node.getChildByName('gameNode').getChildByName('autoBuPanNode').active = true
this.faPanDaoJiShi.getComponent(cc.Label).string = DateUtils.formatTime3_custom(buPanLeftTime)
} else if (buPanLeftTime <= 0) {
if (!this.isadd_500_panzi) {
console.log('isadd_500_panzi+++++++++++===')
this.isadd_500_panzi = true
this.node.getChildByName('gameNode').getChildByName('autoBuPanNode').active = false
this.faPanDaoJiShi.getComponent(cc.Label).string = ''
NewDataManage_xmj.finishAutoBuPanTime()
NewDataManage_xmj.addLeftPanZiNum(300)
this.refreshLeftPanZiNum()
}
}
}
onBtnClickTodayTarget() {
// Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
// GameReport.EnterReport(ENTERTYPE.TIAOZHUAN, '荣耀台')
// PrefabManage.loadPrefabByType(GameType.RongYaoTai, null, (prefab)=>{
// let index = 2
// prefab.getComponent('RongYaoTai').scrollIndexPage(index)
// })
}
onBtnMoFaDaoJu() {
let useFunc = () => {
let tab = NewDataManage_xmj.useMoFaDaoJu()
let changeColorPosTab = tab.changeColorPosTab
let colorNum = tab.colorNum
this.isAction = true
this.moFaSpine.active = true
this.moFaSpine.getComponent(sp.Skeleton).setAnimation(0, 'xuanzhuan2', false)
cc.tween(this.node)
.delay(0.5)
.call(() => {
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/变色")
for (let i = 0; i < changeColorPosTab.length; i++) {
for (let j = 0; j < changeColorPosTab[i].length; j++) {
let card = this.paiContent.getChildByName('line_' + i).children[changeColorPosTab[i][j]]
card.getComponent(SingleMaJiang).setMaJiangSpFrame(colorNum)
}
}
})
.delay(0.6)
.call(() => {
this.moFaSpine.active = false
this.isAction = false
})
.start()
}
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
if (User.getIsPropLiuXingFree()) {
useFunc()
User.setIsPropLiuXingFree(false)
this.refreshPropStatus()
return
}
let tab = {
onClose: (finish) => {
if (finish) {
GameReport.ADReport('魔法道具', 1, '洗麻将')
Common5.ReportDY("inLevel", '游戏-AD-魔法道具');
useFunc()
}
else {
GameReport.ADReport('魔法道具', 0, '洗麻将')
Common5.showTips_custom("广告未观看完");
}
}, onFailed: () => {
}
}
AppPlatform.playVideo_custom(tab)
}
onBtnChuiZiDaoJu() {
Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
let useFunc = () => {
this.isStartChuiZiDaoJu = true
this.chuiZiNode.active = true
this.chuiZiNode.scale = 1
this.chuiZiNode.getChildByName('chuiZiSpine').setPosition(cc.v2(70, -40))
this.chuiZiNode.getChildByName('chuiZiSpine').getComponent(sp.Skeleton).setAnimation(0, 'chuizi1', false)
}
if (User.getIsPropChuiZiFree()) {
useFunc()
//
User.setIsPropChuiZiFree(false)
this.refreshPropStatus()
return
}
let tab = {
onClose: (finish) => {
if (finish) {
GameReport.ADReport('锤子道具', 1, '洗麻将')
Common5.ReportDY("inLevel", '游戏-AD-锤子道具');
useFunc()
}
else {
GameReport.ADReport('锤子道具', 0, '洗麻将')
Common5.showTips_custom("广告未观看完");
}
}, onFailed: () => {
}
}
AppPlatform.playVideo_custom(tab)
}
refreshPropStatus() {
if (User.getIsPropChuiZiFree()) {
this.propChuiZi.getChildByName('node1').active = false
this.propChuiZi.getChildByName('node2').active = true
} else {
this.propChuiZi.getChildByName('node1').active = true
this.propChuiZi.getChildByName('node2').active = false
}
if (User.getIsPropLiuXingFree()) {
this.propLiuXIng.getChildByName('node1').active = false
this.propLiuXIng.getChildByName('node2').active = true
} else {
this.propLiuXIng.getChildByName('node1').active = true
this.propLiuXIng.getChildByName('node2').active = false
}
}
onBtnOpenPanZi() {
// Common5.getSoundFromBundle_custom("allRes", "GameRes/sound/UI按钮")
// GameReport.EnterReport(ENTERTYPE.TIAOZHUAN,'省份详情')
// PrefabManage.loadPrefabByType(GameType.ChinaList)
}
}