public void GetUp() { ISeat seat = _inngeGame.GetSeatByPlayerId(player.Id); if (seat != null) { seat.PlayLeave(); } }
public void PlayerLeaveSeat() { ISeat seat = _ISeatCreator(); seat.PlayerSitDown(_player); seat.PlayLeave(); Assert.True(seat.IsEmpty == true); Assert.True(seat.IPlayer == null, "座位玩家Id=0"); }
public void PlayerLeave_beforEvent() { ISeat seat = _ISeatCreator(); bool beforPlayerLeave_ = false; bool afterPlayerLeave_ = false; seat.BeforPlayerLeaveHandler += delegate { beforPlayerLeave_ = true; }; seat.AfterPlayerLeaveHandler += delegate { afterPlayerLeave_ = true; }; seat.PlayerSitDown(_player); seat.PlayLeave(); Assert.True(beforPlayerLeave_); Assert.True(afterPlayerLeave_); }
/// <summary> /// 玩家离开房间 /// </summary> /// <param name="player_">玩家</param> public void RemovePlayer(IPlayerJoinRoom player_) { ISeat seat = InningGame.GetSeatByPlayerId(player_.Id); if (seat != null) { seat.PlayLeave(); } var realPlayer = Players.Find(p => p.Id == player_.Id); Players.Remove(realPlayer); if (player_.Id == RoomManager.Id && Players.Count > 0) { ChanageManger(Players[0]); } RemovePlayer_SuccessEvent?.Invoke(this, new PlayerEventArgs(player_)); CheckFull(); InningGame.CheckSeatCountEnoughWhenRunning(); }