public static void Holdem_EstimateEV(out float checkCallEV, out float betRaiseEV, int buttonInd, int heroIndex, HoleCards heroHoleCards, List <Player> playerList, Board board, Street street, int numBets, int numCallers, int bigBlindSize, DecisionMakingContext dmContext) { Unmanaged_HoleCards uHoleCards = new Unmanaged_HoleCards(heroHoleCards); Unmanaged_Player[] players = new Unmanaged_Player[playerList.Count]; for (int i = 0; i < playerList.Count; i++) { players[i] = new Unmanaged_Player(playerList[i], i); } Unmanaged_Card[] cards = BoardToUnmanaged(board); checkCallEV = 0.0f; betRaiseEV = 0.0f; EstimateEV(ref checkCallEV, ref betRaiseEV, buttonInd, heroIndex, ref uHoleCards, players, playerList.Count, cards, (int)street, numBets, numCallers, bigBlindSize, dmContext.GC); }
private static extern void EstimateEV(ref float checkCallEV, ref float betRaiseEV, int buttonInd, int heroIndex, ref Unmanaged_HoleCards heroHoleCards, [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] Unmanaged_Player[] players, int nPlayers, [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] Unmanaged_Card[] board, int street, int numBets, int numCallers, int bigBlindSize, IntPtr gc);