/// <summary> /// Converts to players. /// </summary> /// <param name="sharedPlayers">The shared players.</param> /// <returns></returns> public static List <BjPlayer> ConvertToPlayers(this List <BjPlayerShared> sharedPlayers) { var players = new List <BjPlayer>(); foreach (var player in sharedPlayers) { var updatedPlayer = new BjPlayer(player.NetId, player.Name, player.Position, player.Chips) { CurrentBet = player.CurrentBet, HandInsurance = player.HandInsurance, CurrentHands = new List <BjHand>() }; foreach (var hand in player.CurrentHands) { var playerHand = new BjHand(hand.Bet, hand.Cards) { IsActive = hand.IsActive, IsStanding = hand.IsStanding, IsDoubleDown = hand.IsDoubleDown }; playerHand.IsActive = hand.IsActive; updatedPlayer.CurrentHands.Add(playerHand); } players.Add(updatedPlayer); } return(players); }
public static bool TestConverters() { var dealer = new BjDealer(1, "Dealer"); dealer.CurrentHand = new BjHand(0) { Cards = new List <PlayingCard> { new PlayingCard(CardSuit.Clubs, CardFace.Ace), new PlayingCard(CardSuit.Hearts, CardFace.Jack) } }; var player = new BjPlayer(2, "Player", 1, 5000); player.CurrentHands = new List <BjHand> { new BjHand { Bet = 10, IsActive = true, Cards = new List <PlayingCard> { new PlayingCard(CardSuit.Spades, CardFace.Two), new PlayingCard(CardSuit.Diamonds, CardFace.Three) } } }; var game = new BjGame(dealer, Vector3.One, new List <BjPlayer> { player }, 10, 4, 1.5f); game.IsActive = true; var sharedDealer = new BjDealerShared(1, "Dealer"); sharedDealer.CurrentHand = new BjHandShared(0) { Cards = new List <PlayingCard> { new PlayingCard(CardSuit.Clubs, CardFace.Ace), new PlayingCard(CardSuit.Hearts, CardFace.Jack) } }; var sharedPlayer = new BjPlayerShared(2, "Player", 1, 5000); sharedPlayer.CurrentHands = new List <BjHandShared> { new BjHandShared { Bet = 10, IsActive = true, Cards = new List <PlayingCard> { new PlayingCard(CardSuit.Spades, CardFace.Two), new PlayingCard(CardSuit.Diamonds, CardFace.Three) } } }; var sharedGame = new BjGameShared(sharedDealer.Name, sharedDealer, Vector3.One, new List <BjPlayerShared> { sharedPlayer }, 10, 4, 1.5f); var gameConverted = game.ConvertToGameShared(); var sharedConverted = sharedGame.ConvertToGame(null); bool test1 = BjSharedConverters.TestConvertSharedToGame(sharedConverted, game); bool test2 = BjSharedConverters.TestConvertGameToShared(gameConverted, sharedGame); Log.ToChat($"TestConvertSharedToGame success={test1}"); Log.ToChat($"TestConvertSharedToGame success={test2}"); return(test1 && test2); }