def __init__(self, position, title_text, animation_types):
     BuilderContainer.__init__(self)
     
     self.moveset = None
     self.position = position
     self.title = MovesetBuilderLabel(position, title_text, (255,255,255), 22)
     self.add_child(self.title)
     
     button_list = []
     
     for type_tuple in animation_types:
         button_list.append(MoveTypeButton(type_tuple[0], type_tuple[1], 20))
     
     self.buttons = button_list
     self.layout_buttons()
     self.add_children(button_list)
     
     self.buttons[0].handle_selected()
     
     navigator_position = (position[0] + 15, position[1] + self.height + 15)
     animation_navigator = AttackNavigator(navigator_position, 221, 250)
     animation_navigator.load_data(navigator_position, self.buttons[0].move_type)
     self.animation_navigator = animation_navigator
     
     self.add_child(animation_navigator)
     
     self.validation_tree = InputTree()
 def __init__(self):
     BuilderContainer.__init__(self)
     self.position = (20, MovesetNameEntryBox._Y_POS + 60)
     title_position = (300, MovesetNameEntryBox._Y_POS + 60)
     self.title = MovesetBuilderLabel(title_position,"Create Attacks",(255,255,255),25)
     self.ValidationTree = InputTree()
     self.draw_tab = True
     
     attack_types = [(AttackTypes.KICK, "Kick"), (AttackTypes.PUNCH, "Punch")]
     self.animation_select_container = AttackSelectContainer(
         (20, self.position[1] + self.title.height + 15),
         "Select Attack Type",
         attack_types
     )
     self.key_select_container = KeySetContainer(
         (300, self.position[1] + self.title.height + 15),
         "Select Attack Commands"
     )
     self.key_select_container.inactivate()
     self.add_children([
         self.title,
         self.animation_select_container,
         self.key_select_container
     ])
     self.width = 750
 def __init__(self, position, title_text):
     BuilderContainer.__init__(self)
     
     self.active = True
     self.position = position
     self.title = MovesetBuilderLabel(position, title_text, (255,255,255), 22)
     self.add_child(self.title)
     
     key_container_position = (position[0], position[1] + self.title.height + 10)
     button_args = [
         ((0,0), "FW", 18, InputActionTypes.FORWARD),
         ((0,0), "UP", 18, InputActionTypes.MOVE_UP),
         ((0,0), "DN", 18, InputActionTypes.MOVE_DOWN),
         ((0,0), "QK", 18, InputActionTypes.WEAK_KICK),
         ((0,0), "TK", 18, InputActionTypes.MEDIUM_KICK),
         ((0,0), "SK", 18, InputActionTypes.STRONG_KICK),
         ((0,0), "QP", 18, InputActionTypes.WEAK_PUNCH),
         ((0,0), "TP", 18, InputActionTypes.MEDIUM_PUNCH),
         ((0,0), "SP", 18, InputActionTypes.STRONG_PUNCH),
         ((0,0), "JU", 18, InputActionTypes.JUMP)
     ]
     self.key_buttons = KeyButtonContainer(
         key_container_position,
         270,
         250,
         "",
         KeyButton,
         button_args
     )
     self.add_child(self.key_buttons)
     
     command_key_position = (
         position[0] + self.key_buttons.width,
         key_container_position[1] + 10
     )
     self.command_key = KeyReferenceContainer(command_key_position)
     self.add_child(self.command_key)
     
     command_in_use_position = (position[0], position[1] + self.height - 10)
     self.command_in_use_label = button.Label(
         command_in_use_position,
         "this command is already in use",
         (255,0,0),
         15
     )
     self.command_in_use_label.hide()
     self.add_child(self.command_in_use_label)
     
     self.key_combination = []
     key_combination_position = (
         position[0],
         position[1] + self.height
     )
     self.key_combination_label = button.Label(
         key_combination_position,
         "--",
         (255,255,255),
         22
     )
     self.add_child(self.key_combination_label)
     
     clear_button_position = (position[0], position[1] + self.height + 10)
     self.clear_button = button.TextButton(
         "Clear",
         15
     )
     self.clear_button.set_position(clear_button_position)
     self.add_child(self.clear_button)
     
     self.thumbnail = None
     self.thumbnail_position = (
         self.position[0] + 50,
         self.position[1] + self.height + 30
     )