def handle_deselect(self, change_state): """changes state of button when it is clicked""" self.color = button.Button._InactiveColor self.symbol.color = button.Button._InactiveColor self.selected = False if change_state: if ((pygame.MOUSEBUTTONUP in wotsuievents.event_types) and (self.contains(wotsuievents.mouse_pos))): gamestate.mode = self.gamestate_mode splash.draw_loading_splash() elif pygame.K_RETURN in wotsuievents.keys_released: gamestate.mode = self.gamestate_mode splash.draw_loading_splash()
def load(): global loading_match_label global load_match_progress_timer global player_data loading_match_label = button.Label((0, 0), LOADING_MATCH_TEXT, (255,255,255),40) loading_match_label.set_position(get_layout_label_pos()) splash.draw_loading_splash() pygame.display.flip() load_match_progress_timer = 0 versusmode_player_data = [] #swap actual moveset with moveset name for player_data_object in player_data.values(): versusmode_player_data.append( PlayerData( player_data_object.player_position, player_data_object.player_type, movesetdata.get_moveset(player_data_object.moveset), player_data_object.size, player_data_object.color, player_data_object.difficulty ) ) onlineversusmode.init(versusmode_player_data) if versusclient.local_player_is_in_match(): versusclient.listener.send_all_movesets_loaded() elif versusclient.dummies_only(): versusclient.listener.start_match()
def handle_events(): global UI_objects global loaded global exit_button global player_data if loaded == False: load() if pygame.MOUSEBUTTONDOWN in wotsuievents.event_types: if exit_button.contains(wotsuievents.mouse_pos): exit_button.handle_selected() if pygame.MOUSEBUTTONUP in wotsuievents.event_types: if exit_button.selected: exit_button.handle_deselected() if exit_button.contains(wotsuievents.mouse_pos): gamestate.mode = gamestate.Modes.VERSUSMOVESETSELECT unload() clear_data() if loaded: gamestate.screen.blit(UI_objects.background.surface, (0,0)) exit_button.draw(gamestate.screen) UI_objects.stage_selector.draw(gamestate.screen) UI_objects.title_label.draw(gamestate.screen) UI_objects.stage_selector.handle_events() if UI_objects.stage_selected(): if UI_objects.start_match_label_draw_timer >= UI_objects.start_match_label_draw_timeout: UI_objects.start_match_label.draw(gamestate.screen) else: UI_objects.start_match_label_draw_timer += gamestate.time_passed if ((UI_objects.stage_selector.contains(wotsuievents.mouse_pos) and pygame.MOUSEMOTION in wotsuievents.event_types) or pygame.K_UP in wotsuievents.keys_pressed or pygame.K_DOWN in wotsuievents.keys_pressed): UI_objects.start_match_label_draw_timer = 0 UI_objects.start_match_label.hide() if (pygame.K_KP_ENTER in wotsuievents.keys_pressed or pygame.K_RETURN in wotsuievents.keys_pressed): gamestate.screen.fill((0,0,0)) splash.draw_loading_splash() gamestate.stage = UI_objects.stage_selector.selected_thumbnail.stage versusmode.init(player_data) #versusmode.local_state.init_recording( # player1_moveset_select.selected_moveset.name, # player2_moveset_select.selected_moveset.name #) unload() gamestate.mode = gamestate.Modes.VERSUSMODE else: UI_objects.start_match_label_draw_timer = 0 UI_objects.start_match_label.hide()
def handle_events(): global loaded global exit_button global create_new_moveset_label global edit_moveset_label global delete_moveset_label global moveset_select_container global export_moveset_label global import_movesets_label global import_movesets_thread global import_alert_box if loaded == False: load() if import_movesets_thread == None: if pygame.MOUSEBUTTONDOWN in wotsuievents.event_types: if exit_button.contains(wotsuievents.mouse_pos): exit_button.handle_selected() if create_new_moveset_label.contains(wotsuievents.mouse_pos): create_new_moveset_label.handle_selected() if import_movesets_label.contains(wotsuievents.mouse_pos): import_movesets_label.handle_selected() if (edit_moveset_label.contains(wotsuievents.mouse_pos) and edit_moveset_label.active): edit_moveset_label.handle_selected() if (delete_moveset_label.contains(wotsuievents.mouse_pos) and delete_moveset_label.active): delete_moveset_label.handle_selected() if (export_moveset_label.contains(wotsuievents.mouse_pos) and export_moveset_label.active): export_moveset_label.handle_selected() if pygame.MOUSEBUTTONUP in wotsuievents.event_types: if exit_button.selected: exit_button.handle_deselected() if exit_button.contains(wotsuievents.mouse_pos): gamestate.mode = gamestate.Modes.MAINMENU unload() elif create_new_moveset_label.selected: create_new_moveset_label.handle_deselected() if create_new_moveset_label.contains(wotsuievents.mouse_pos): splash.draw_loading_splash() movesetbuilder.load(movesetdata.Moveset()) gamestate.mode = gamestate.Modes.MOVESETBUILDER unload() elif import_movesets_label.selected: import_movesets_label.handle_deselected() if import_movesets_label.contains(wotsuievents.mouse_pos): import_movesets_thread = Thread( target=movesetdata.import_movesets ) import_movesets_thread.start() elif edit_moveset_label.selected: edit_moveset_label.handle_deselected() if edit_moveset_label.contains(wotsuievents.mouse_pos): splash.draw_loading_splash() movesetbuilder.load( moveset_select_container.selected_moveset ) gamestate.mode = gamestate.Modes.MOVESETBUILDER unload() elif delete_moveset_label.selected: delete_moveset_label.handle_deselected() if delete_moveset_label.contains(wotsuievents.mouse_pos): movesetdata.delete_moveset( moveset_select_container.selected_moveset ) moveset_select_container.selected_moveset = None moveset_select_container.load_movesets( movesetdata.get_movesets() ) elif export_moveset_label.selected: export_moveset_label.handle_deselected() if export_moveset_label.contains(wotsuievents.mouse_pos): movesetdata.export_moveset( moveset_select_container.selected_moveset ) if loaded: exit_button.draw(gamestate.screen) edit_moveset_label.draw(gamestate.screen) create_new_moveset_label.draw(gamestate.screen) delete_moveset_label.draw(gamestate.screen) export_moveset_label.draw(gamestate.screen) import_movesets_label.draw(gamestate.screen) moveset_select_container.draw(gamestate.screen) if import_movesets_thread == None: moveset_select_container.handle_events() elif import_movesets_thread.is_alive() == True: import_alert_box.draw(gamestate.screen) elif import_movesets_thread.is_alive() == False: moveset_select_container.selected_moveset = None moveset_select_container.load_movesets( movesetdata.get_movesets() ) import_movesets_thread = None if moveset_select_container.selected_moveset != None: if not edit_moveset_label.active: edit_moveset_label.activate() if not delete_moveset_label.active: delete_moveset_label.activate() if not export_moveset_label.active: export_moveset_label.activate() else: if edit_moveset_label.active: edit_moveset_label.inactivate() if delete_moveset_label.active: delete_moveset_label.inactivate() if export_moveset_label.active: export_moveset_label.inactivate()
def start_match(self): splash.draw_loading_splash() gamestate.mode = gamestate.Modes.STAGESELECT stageselect.load(self.create_player_data()) self.loaded = False