增加updatePlayer接口

This commit is contained in:
y.x 2020-12-24 02:14:29 +08:00
parent 39ccdf9e7e
commit 1fb2dc9605

View File

@ -19,6 +19,8 @@ export class BattleHandler {
private _players: Map<Player, PlayerHandler> = new Map(); private _players: Map<Player, PlayerHandler> = new Map();
private _playerids: Map<string, Player> = new Map();
_room: Room; _room: Room;
private _cardusing: boolean; private _cardusing: boolean;
private _sktime: number; private _sktime: number;
@ -41,19 +43,40 @@ export class BattleHandler {
}); });
this._players.set(aplayer, ph); this._players.set(aplayer, ph);
this._playerids.set(aplayer.id + '', aplayer);
return ph; return ph;
}; };
public delPlayer(aplayer: Player){ public delPlayer(aplayer: Player){
let id = aplayer.id + '';
let ph = this.getPlayer(aplayer); let ph = this.getPlayer(aplayer);
this._players.forEach((item: PlayerHandler) =>{ this._players.forEach((item: PlayerHandler) => {
if(item._friend == ph){ if(item._friend == ph){
item._friend = null; item._friend = null;
} }
}); });
this._players.delete(aplayer); this._players.delete(aplayer);
this._playerids.delete(id);
};
public updatePlayer(aplayerid: string, newplayer: Player){
let oldplayer = this._playerids.get(aplayerid + '');
let ph: PlayerHandler = null;
if(oldplayer){
this._players.forEach((item: PlayerHandler) => {
if(item._player == oldplayer){
item._player = newplayer;
ph = item;
}
});
this._players.delete(oldplayer);
}
if(ph){
this._players.set(newplayer, ph);
this._playerids.set(aplayerid + '', newplayer);
}
}; };
public getPlayer(aplayer: Player): PlayerHandler{ public getPlayer(aplayer: Player): PlayerHandler{