修改非空断言可能会导致的崩溃错误
This commit is contained in:
@@ -57,9 +57,10 @@ class Room
|
||||
let tempPlayers:Map<string, Player> = new Map<string, Player>;
|
||||
for(const key of this.mPlayers.keys())
|
||||
{
|
||||
if(this.mPlayers.get(key)!.mHp > 0)
|
||||
const player = this.mPlayers.get(key);
|
||||
if(player && player.mHp > 0)
|
||||
{
|
||||
tempPlayers.set(key, this.mPlayers.get(key)!);
|
||||
tempPlayers.set(key, player);
|
||||
}
|
||||
}
|
||||
this.mMatchMaker.updatePlayers(tempPlayers);
|
||||
@@ -145,18 +146,24 @@ export class RoomManager
|
||||
|
||||
join(aRoomID:string, aName:string, aSocket:Socket):[boolean, string, number | null, Player | null]
|
||||
{
|
||||
if(!this.mRooms.has(aRoomID))
|
||||
const room = this.mRooms.get(aRoomID);
|
||||
if (!room)
|
||||
{
|
||||
return [false, "No room Id", null, null];
|
||||
}
|
||||
|
||||
let room = this.mRooms.get(aRoomID)!;
|
||||
if(room.mPlayers.has(aName))
|
||||
{
|
||||
let player = room.mPlayers.get(aName);
|
||||
player!.setPlayerSocketId(aSocket.id);
|
||||
aSocket.join(aRoomID);
|
||||
return [true, "", room.mStatus, player!];
|
||||
if(player)
|
||||
{
|
||||
player.setPlayerSocketId(aSocket.id);
|
||||
aSocket.join(aRoomID);
|
||||
return [true, "", room.mStatus, player];
|
||||
}
|
||||
else
|
||||
{
|
||||
return [false, "unKnow error", null, null];
|
||||
}
|
||||
}
|
||||
|
||||
if(room.mPlayers.size < ALL_PLAYER_NUM)
|
||||
|
Reference in New Issue
Block a user