|
|
@ -1,6 +1,6 @@ |
|
|
|
|
|
|
|
import { Component, find } from "cc"; |
|
|
|
import { I18Manager, Message, Network, Sleep, UIManager, UIWindowMessage } from "../../sdk/API"; |
|
|
|
import { I18Manager, Message, Network, Sleep, SystemParams, UIManager, UIWindowMessage } from "../../sdk/API"; |
|
|
|
import { TeenPattieEventType } from "../../tool/TeenPattieEventType"; |
|
|
|
import { TeenPattieCommData } from "../TeenPattieCommData"; |
|
|
|
import { TeenPattieUpLayerLogic } from "../logic/TeenPattieUpLayerLogic"; |
|
|
@ -14,7 +14,6 @@ import { TeenPattiePathTool } from "../../tool/TeenPattiePathTool"; |
|
|
|
export class TeenpattieGameProxySystem extends Component { |
|
|
|
/**当前出牌玩家ID */ |
|
|
|
private currChuPaiId: number; |
|
|
|
private chagedIndex:number; |
|
|
|
|
|
|
|
static upPlayer: TeenPattieUpLayerLogic; |
|
|
|
static gameSystem:TeenPattieGameSystem; |
|
|
@ -90,6 +89,10 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
this.resData = null; |
|
|
|
Message.send(TeenPattieEventType.GameMatchTips,false); |
|
|
|
Message.send(TeenPattieEventType.NextGame); |
|
|
|
if(!TeenPattieCommData.getInstance().isCurrWatch){ |
|
|
|
TeenPattieCommData.getInstance().isCurrGame = true; |
|
|
|
Message.send(TeenPattieEventType.SetCurrGameStatus); |
|
|
|
} |
|
|
|
this.isForceCompare = false; |
|
|
|
TeenpattieGameProxySystem.upPlayer?.startCutDown(true,value.data); |
|
|
|
Message.send(TeenPattieEventType.GameStart); |
|
|
@ -135,6 +138,8 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
console.warn("当前玩家自己的ID为:",TeenPattieCommData.getInstance().playerSeatId); |
|
|
|
/**所有玩家数据 */ |
|
|
|
const allData = value.data.data.seats; |
|
|
|
/**所有观战玩家数据 */ |
|
|
|
const watchData = value.data.data.watchPlayerList; |
|
|
|
|
|
|
|
//当前房间最小下注额
|
|
|
|
TeenPattieCommData.getInstance().gameBaseBet = value.data.data.curBaseBetNum; |
|
|
@ -144,9 +149,16 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
|
|
|
|
TeenpattieGameProxySystem.gameSystem.clearAllPlayerByData(); |
|
|
|
|
|
|
|
if(value.data.data.ownCards) TeenPattieCommData.getInstance()._allKanPlayerCard.push(value.data.data.ownCards); |
|
|
|
if(value.data.data.ownCards){ |
|
|
|
TeenPattieCommData.getInstance()._allKanPlayerCard.push(value.data.data.ownCards); |
|
|
|
TeenPattieCommData.getInstance().isCurrGame = true; |
|
|
|
}else{ |
|
|
|
TeenPattieCommData.getInstance().isCurrGame = false; |
|
|
|
} |
|
|
|
|
|
|
|
this.chagedIndex =userPlayer >= 3 ? -(userPlayer - 3) : (3 - userPlayer) |
|
|
|
TeenPattieCommData.getInstance().isCurrWatch = false; |
|
|
|
|
|
|
|
TeenPattieCommData.getInstance().chagedIndex =userPlayer >= 3 ? -(userPlayer - 3) : (3 - userPlayer) |
|
|
|
for(let key in allData){ |
|
|
|
let data:any= allData[key]; |
|
|
|
let index:number = this.getPlayerIndex(data?.SeatId); |
|
|
@ -154,6 +166,13 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
TeenPattieCommData.getInstance().allPlayerId.push(data?.SeatId); |
|
|
|
TeenPattieCommData.getInstance()._allPlayerData.push(data); |
|
|
|
} |
|
|
|
for(let key in watchData){ |
|
|
|
let data:any= watchData[key]; |
|
|
|
TeenPattieCommData.getInstance().allWatchPlayerData.push(data); |
|
|
|
if(data.Uid == UserData.userId){ |
|
|
|
TeenPattieCommData.getInstance().isCurrWatch = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
Message.send(TeenPattieEventType.CurrRound, value.data.data.gameRound); |
|
|
|
Message.send(TeenPattieEventType.BetTotal,value.data.data.betTotal); |
|
|
@ -168,6 +187,7 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
Message.send(TeenPattieEventType.SetCurrGameStatus); |
|
|
|
//当前正在出牌的玩家
|
|
|
|
if(value.data.data.time <= 0) return; |
|
|
|
const data = { |
|
|
@ -179,7 +199,7 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
} |
|
|
|
private getPlayerIndex(seatId:number):number{ |
|
|
|
const total:number = TeenPattieCommData.getInstance().totalPlayer; |
|
|
|
let index:number=seatId + this.chagedIndex |
|
|
|
let index:number=seatId + TeenPattieCommData.getInstance().chagedIndex; |
|
|
|
if(index > total)index=index - total; |
|
|
|
else if(index <= 0)index=index + total; |
|
|
|
return index; |
|
|
@ -209,6 +229,7 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
if(!this.isResetSeat) return; |
|
|
|
this.isResetSeat = false; |
|
|
|
|
|
|
|
TeenpattieGameProxySystem.gameSystem.clearAllPlayerByData(); |
|
|
|
const allData:any[] = TeenPattieCommData.getInstance().allPlayerData; |
|
|
|
for(const item of allData){ |
|
|
|
item.status = 1; |
|
|
@ -417,11 +438,12 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
|
|
|
|
/**玩家退出 */ |
|
|
|
private onPlayerOut(value: any) { |
|
|
|
let index:number = this.getPlayerIndex(value.data.seatId) |
|
|
|
// let index:number = this.getPlayerIndex(value.data.seatId)
|
|
|
|
const index:number = value.data.seatId; |
|
|
|
console.warn("玩家退出ID", index); |
|
|
|
const playerLogic:TeenPattiePlayerLogic=TeenpattieGameProxySystem.gameSystem.getPlayerBySeatId(index) |
|
|
|
const playerLogic:TeenPattiePlayerLogic=TeenpattieGameProxySystem.gameSystem.getPlayerDataSeatId(index) |
|
|
|
if(playerLogic){ |
|
|
|
if(index == 3){ |
|
|
|
if(index == TeenPattieCommData.getInstance().playerSeatId){ |
|
|
|
TeenPattieCommData.getInstance().isCloseRoom = true; |
|
|
|
console.log("**onPlayerOut*****GameExit***"); |
|
|
|
Message.send(TeenPattieEventType.GameExit); |
|
|
@ -452,18 +474,18 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
/**通知玩家观战转坐下 */ |
|
|
|
private notifyWatchToDown(data:any){ |
|
|
|
console.warn("通知玩家观战转坐下") |
|
|
|
// this.watchToDown(data);
|
|
|
|
this.watchToDown(data.data); |
|
|
|
} |
|
|
|
/**通知玩家坐下转观战 */ |
|
|
|
private notifyDownToWatch(data:any){ |
|
|
|
console.warn("通知玩家坐下转观战") |
|
|
|
// this.downToWatch(data.seatId);
|
|
|
|
this.downToWatch(data.data.seatId); |
|
|
|
} |
|
|
|
|
|
|
|
/**主动观战转坐下 */ |
|
|
|
private watchToDown(data:any){ |
|
|
|
for(const [index,item] of TeenPattieCommData.getInstance().allWatchPlayerData.entries()){ |
|
|
|
if(item.uid == data.uid){ |
|
|
|
if(item.Uid == data.uid){ |
|
|
|
item.SeatId = data.seatId; |
|
|
|
TeenPattieCommData.getInstance().allPlayerId.push(item?.SeatId); |
|
|
|
TeenPattieCommData.getInstance()._allPlayerData.push(item); |
|
|
@ -472,12 +494,14 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
const ind:number = this.getPlayerIndex(item?.SeatId); |
|
|
|
this.setPlayerJoinData(ind,item); |
|
|
|
|
|
|
|
if(item.uid == UserData.userId){ |
|
|
|
if(item.Uid == UserData.userId){ |
|
|
|
TeenPattieCommData.getInstance().playerSeatId = item.SeatId; |
|
|
|
TeenPattieCommData.getInstance().isCurrWatch = false; |
|
|
|
SystemParams.getInstance().setValue("isWatch",0); |
|
|
|
Message.send(TeenPattieEventType.SetCurrGameStatus); |
|
|
|
|
|
|
|
const userPlayer = item?.SeatId; |
|
|
|
this.chagedIndex =userPlayer >= 3 ? -(userPlayer - 3) : (3 - userPlayer); |
|
|
|
TeenPattieCommData.getInstance().chagedIndex =userPlayer >= 3 ? -(userPlayer - 3) : (3 - userPlayer); |
|
|
|
this.isResetSeat = true; |
|
|
|
}else{ |
|
|
|
|
|
|
@ -489,16 +513,23 @@ export class TeenpattieGameProxySystem extends Component { |
|
|
|
} |
|
|
|
} |
|
|
|
/**玩家坐下转观战 */ |
|
|
|
private downToWatch(chairId:number){ |
|
|
|
private downToWatch(seatId:number){ |
|
|
|
for(const [index,item] of TeenPattieCommData.getInstance().allPlayerData.entries()){ |
|
|
|
if(item.chairId == chairId){ |
|
|
|
if(item.uid == UserData.userId){ |
|
|
|
if(item.SeatId == seatId){ |
|
|
|
if(item.Uid == UserData.userId){ |
|
|
|
TeenPattieCommData.getInstance().isCurrWatch = true; |
|
|
|
TeenPattieCommData.getInstance().playerSeatId = 0; |
|
|
|
TeenPattieCommData.getInstance().playerSeatId = -1; |
|
|
|
SystemParams.getInstance().setValue("isWatch",1); |
|
|
|
Message.send(TeenPattieEventType.SetCurrGameStatus); |
|
|
|
} |
|
|
|
item.SeatId = 0; |
|
|
|
item.SeatId = -1; |
|
|
|
TeenPattieCommData.getInstance().allWatchPlayerData.push(item); |
|
|
|
TeenPattieCommData.getInstance()._allPlayerData.splice(index,1); |
|
|
|
TeenPattieCommData.getInstance().allPlayerId.splice(index,1); |
|
|
|
const playerLogic:TeenPattiePlayerLogic=TeenpattieGameProxySystem.gameSystem.getPlayerDataSeatId(item.SeatId) |
|
|
|
if(playerLogic){ |
|
|
|
playerLogic.clearPlayerData() |
|
|
|
} |
|
|
|
|
|
|
|
const str:string = TeenPattiePathTool.formatString(Game10001Res.getInstance().getString("game.tip.WatchBattle"),item.nickname); |
|
|
|
window["Toast"]?.getInstance().showToast(str); |
|
|
|