public void GameEnd(GwentRoom room) { //结束游戏恢复玩家状态 room.Player1.CurrentUser.UserState = UserState.Standby; room.Player2.CurrentUser.UserState = UserState.Standby; room.Player1.CurrentUser.CurrentPlayer = null; room.Player2.CurrentUser.CurrentPlayer = null; //删除房间 GwentRooms.Remove(room); }
public async void StartGame(GwentRoom room) { //通知玩家游戏开始 await _hub().Clients.Client(room.Player1.CurrentUser.ConnectionId).SendAsync("MatchResult", true); await _hub().Clients.Client(room.Player2.CurrentUser.ConnectionId).SendAsync("MatchResult", true); //初始化房间 var player1 = room.Player1; var player2 = room.Player2; var gwentGame = new GwentServerGame(player1, player2, _gwentCardTypeServic); //开始游戏改变玩家状态 player1.CurrentUser.UserState = UserState.Play; player2.CurrentUser.UserState = UserState.Play; //开启游戏 room.CurrentGame = gwentGame; await gwentGame.Play(); GameEnd(room); }