(self, env_state_dict, blank_private_info=False)
Args:
            env_state_dict:
            blank_private_info (bool): If true, hole cards are going to be set to None. This is useful when loading a
                                        public state

        Returns:
def load_state_dict(self, env_state_dict, blank_private_info=False):
        """

        Args:
            env_state_dict:
            blank_private_info (bool): If true, hole cards are going to be set to None. This is useful when loading a
                                        public state

        Returns:

        """
        self.IS_EVALUATING = env_state_dict[EnvDictIdxs.is_evaluating]
        self.current_round = env_state_dict[EnvDictIdxs.current_round]
        self.side_pots = copy.deepcopy(env_state_dict[EnvDictIdxs.side_pots])
        self.main_pot = env_state_dict[EnvDictIdxs.main_pot]
        self.board = np.copy(env_state_dict[EnvDictIdxs.board_2d])
        self.last_action = copy.deepcopy(env_state_dict[EnvDictIdxs.last_action])

        x = env_state_dict[EnvDictIdxs.capped_raise]
        self.capped_raise = CappedRaise()
        if x is not None:
            self.capped_raise.happened_this_round = True
            self.capped_raise.player_that_raised = self.seats[x[0]]
            if x[1] is None:
                self.capped_raise.player_that_cant_reopen = None
            else:
                self.capped_raise.player_that_cant_reopen = self.seats[x[1]]

        self.current_player = self.seats[env_state_dict[EnvDictIdxs.current_player]]

        x = env_state_dict[EnvDictIdxs.last_raiser]
        self.last_raiser = None if x is None else self.seats[x]
        self.deck.load_state_dict(env_state_dict[EnvDictIdxs.deck])
        self.n_actions_this_episode = env_state_dict[EnvDictIdxs.n_actions_this_episode]

        if self.IS_FIXED_LIMIT_GAME:
            self.n_raises_this_round = env_state_dict[EnvDictIdxs.n_raises_this_round]

        for p in self.seats:
            p.seat_id = env_state_dict[EnvDictIdxs.seats][p.seat_id][PlayerDictIdxs.seat_id]
            p.stack = env_state_dict[EnvDictIdxs.seats][p.seat_id][PlayerDictIdxs.stack]
            p.current_bet = env_state_dict[EnvDictIdxs.seats][p.seat_id][PlayerDictIdxs.current_bet]
            p.is_allin = env_state_dict[EnvDictIdxs.seats][p.seat_id][PlayerDictIdxs.is_allin]
            p.folded_this_episode = env_state_dict[EnvDictIdxs.seats][p.seat_id][PlayerDictIdxs.folded_this_episode]
            p.has_acted_this_round = env_state_dict[EnvDictIdxs.seats][p.seat_id][PlayerDictIdxs.has_acted_this_round]
            p.side_pot_rank = env_state_dict[EnvDictIdxs.seats][p.seat_id][PlayerDictIdxs.side_pot_rank]

            if blank_private_info:
                p.hand = None
                p.hand_rank = None
            else:
                p.hand = np.copy(env_state_dict[EnvDictIdxs.seats][p.seat_id][PlayerDictIdxs.hand])
                p.hand_rank = env_state_dict[EnvDictIdxs.seats][p.seat_id][PlayerDictIdxs.hand_rank]
def load_state_dict ( self , env_state_dict , blank_private_info = False ) : self . IS_EVALUATING = env_state_dict [ EnvDictIdxs . is_evaluating ] self . current_round = env_state_dict [ EnvDictIdxs . current_round ] self . side_pots = copy . deepcopy ( env_state_dict [ EnvDictIdxs . side_pots ] ) self . main_pot = env_state_dict [ EnvDictIdxs . main_pot ] self . board = np . copy ( env_state_dict [ EnvDictIdxs . board_2d ] ) self . last_action = copy . deepcopy ( env_state_dict [ EnvDictIdxs . last_action ] ) x = env_state_dict [ EnvDictIdxs . capped_raise ] self . capped_raise = CappedRaise ( ) if x is not None : self . capped_raise . happened_this_round = True self . capped_raise . player_that_raised = self . seats [ x [ 0 ] ] if x [ 1 ] is None : self . capped_raise . player_that_cant_reopen = None else : self . capped_raise . player_that_cant_reopen = self . seats [ x [ 1 ] ] self . current_player = self . seats [ env_state_dict [ EnvDictIdxs . current_player ] ] x = env_state_dict [ EnvDictIdxs . last_raiser ] self . last_raiser = None if x is None else self . seats [ x ] self . deck . load_state_dict ( env_state_dict [ EnvDictIdxs . deck ] ) self . n_actions_this_episode = env_state_dict [ EnvDictIdxs . n_actions_this_episode ] if self . IS_FIXED_LIMIT_GAME : self . n_raises_this_round = env_state_dict [ EnvDictIdxs . n_raises_this_round ] for p in self . seats : p . seat_id = env_state_dict [ EnvDictIdxs . seats ] [ p . seat_id ] [ PlayerDictIdxs . seat_id ] p . stack = env_state_dict [ EnvDictIdxs . seats ] [ p . seat_id ] [ PlayerDictIdxs . stack ] p . current_bet = env_state_dict [ EnvDictIdxs . seats ] [ p . seat_id ] [ PlayerDictIdxs . current_bet ] p . is_allin = env_state_dict [ EnvDictIdxs . seats ] [ p . seat_id ] [ PlayerDictIdxs . is_allin ] p . folded_this_episode = env_state_dict [ EnvDictIdxs . seats ] [ p . seat_id ] [ PlayerDictIdxs . folded_this_episode ] p . has_acted_this_round = env_state_dict [ EnvDictIdxs . seats ] [ p . seat_id ] [ PlayerDictIdxs . has_acted_this_round ] p . side_pot_rank = env_state_dict [ EnvDictIdxs . seats ] [ p . seat_id ] [ PlayerDictIdxs . side_pot_rank ] if blank_private_info : p . hand = None p . hand_rank = None else : p . hand = np . copy ( env_state_dict [ EnvDictIdxs . seats ] [ p . seat_id ] [ PlayerDictIdxs . hand ] ) p . hand_rank = env_state_dict [ EnvDictIdxs . seats ] [ p . seat_id ] [ PlayerDictIdxs . hand_rank ]