docstr: Parses the currently available game buttons,
  reorganizes all delta buttons to be prior to any binary buttons
  sets self.num_delta_buttons, self.num_binary_buttons
docstr_tok: ["Parses","the","currently","available","game","buttons",",","reorganizes","all","delta","buttons","to","be","prior","to","any","binary","buttons","sets","self.num_delta_buttons",",","self.num_binary_buttons"]
code: def __parse_available_buttons(self):
      """
      Parses the currently available game buttons,
      reorganizes all delta buttons to be prior to any binary buttons
      sets self.num_delta_buttons, self.num_binary_buttons
      """
      delta_buttons = []
      binary_buttons = []
      for button in self.game.get_available_buttons():
          if (
              vzd.is_delta_button(button)
              and button not in delta_buttons
          ):
              delta_buttons.append(button)
          else:
              binary_buttons.append(button)
      # force all delta buttons to be first before any binary buttons
      self.game.set_available_buttons(delta_buttons + binary_buttons)
      self.num_delta_buttons = len(delta_buttons)
      self.num_binary_buttons = len(binary_buttons)
      if delta_buttons == binary_buttons == 0:
          raise RuntimeError(
              "No game buttons defined. Must specify game buttons using `available_buttons` in the "
              "config file."
          )
  
imports: import itertools
  import warnings
  from typing import Optional
  import gym
  import numpy
  import pygame
  from gym.utils import EzPickle
  import vizdoom.vizdoom
label_desc: Use image node_id 11 for calling the VizdoomEnv obj's underlying member method code with example usage: obj.__parse_available_buttons() without return types