添加一个查找对面玩家的方法
This commit is contained in:
parent
8257a9b71f
commit
0078507ea4
5
src/global.d.ts
vendored
5
src/global.d.ts
vendored
@ -260,6 +260,11 @@ declare module "colyseus" {
|
||||
*/
|
||||
getAssistClient(sessionId: string): RobotClient;
|
||||
|
||||
/**
|
||||
* 获取对位玩家
|
||||
* @param srcPlayer
|
||||
*/
|
||||
getOppositePlayer(srcPlayer: string|Player): Player;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -282,4 +282,20 @@ export class GeneralRoom extends Room {
|
||||
getAssistClient(sessionId: string): RobotClient {
|
||||
return this.assistMap.get(sessionId);
|
||||
}
|
||||
|
||||
getOppositePlayer(srcPlayer: string | Player): Player {
|
||||
let playerId;
|
||||
if (typeof srcPlayer === 'string') {
|
||||
playerId = srcPlayer as string;
|
||||
} else {
|
||||
playerId = srcPlayer.id;
|
||||
}
|
||||
if (!this.state.players.has(playerId)) {
|
||||
return null;
|
||||
}
|
||||
const sessionIds = [...this.state.players.keys()];
|
||||
let idx = sessionIds.indexOf(playerId);
|
||||
let playerId2 = sessionIds[(2 + idx) % 4];
|
||||
return this.state.players.get(playerId2);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user