增加玩家头像和昵称

This commit is contained in:
zhl 2021-05-21 17:09:39 +08:00
parent a0fd49d6a9
commit 3582ab5726
3 changed files with 33 additions and 2 deletions

View File

@ -46,7 +46,7 @@ export class PuzzleMathRoom extends Room {
}
onJoin(client: Client, options: any) {
const data = {client, accountId: options.accountid,}
const data = {client, accountId: options.accountid, nickname: options.nickname, avatar: options.avatar}
this.dispatcher.dispatch(new OnJoinCommand(), data)
}
@ -163,6 +163,27 @@ export class PuzzleMathRoom extends Room {
this.state.round = round
}
/**
*
* @param datas
*/
updatePlayerInfo(datas: any) {
console.log(`[${this.roomId}] admin updatePlayerInfo: ${JSON.stringify(datas)}`)
for (let data of datas) {
for (let [,player] of this.state.players) {
if (player.accountId == data.accountid) {
if (data.nickname) {
player.nickname = data.nickname
}
if (data.avatar) {
player.avatar = data.avatar
}
break
}
}
}
}
/**
*

View File

@ -6,9 +6,13 @@ import { Player } from '../schema/Player'
export class OnJoinCommand extends Command<PuzzleGameState, {
client: Client,
accountId: string,
nickname: string,
avatar: string
}> {
async execute({ client, accountId} = this.payload) {
async execute({ client, accountId, nickname, avatar} = this.payload) {
let player = new Player(client.id, accountId)
player.nickname = nickname
player.avatar = avatar
this.state.players.set(client.sessionId, player)
this.room.bUserJoin(`${ client.sessionId }`, { except: client })
}

View File

@ -7,6 +7,12 @@ export class Player extends Schema {
@type('string')
accountId: string
@type('string')
nickname: string
@type('string')
avatar: string
@type('number')
score: number