def exit(self, quit=True): self.end_simulation() self.cleanup_rendering_objects() self.cleanup_match_state_variables() self.reset_GUI_variables() self.flush_recording() self.initialized = False self.exiting = True self.exit_indicator = True wotsrendering.flush() self.unregister_network_callbacks() if (versusclient.local_player_is_in_match() or (versusclient.dummies_only() and gamestate.hosting)): versusclient.listener.end_match() else: if quit: #if you're a spectator go to the main menu versusclient.listener.close() versusclient.unload() gamestate.mode = gamestate.Modes.MAINMENU self.chatting = False
def create_background(self, player_data): player1_model = physics.Model((0,0)) player2_model = physics.Model((0,0)) self.set_point_positions(player_data, PlayerPositions.PLAYER1, player1_model) self.set_point_positions(player_data, PlayerPositions.PLAYER2, player2_model) versusrendering.draw_player(player1_model, (255,255,255), player_data[0].color, 30, self.surface, 1) versusrendering.draw_player(player2_model, (255,255,255), player_data[1].color, 30, self.surface, 1) wotsrendering.flush() self.surface.set_alpha(100)
def draw_bkg_and_stick(): ground_surface = stage.draw_ground(800, 200) gamestate.screen.fill((0,0,0), ((0,450),(800,250))) gamestate.screen.fill((0,0,0), ((0,0),(800,450))) gamestate.screen.blit(ground_surface, (0, 450)) versusrendering.draw_reflection( model, (255,255,255), (0,0,0), 30, camera, gamestate.screen, 500 ) versusrendering.draw_player( model, (255,255,255), (0,0,0), 30, gamestate.screen, 1) wotsrendering.flush()
elif gamestate.mode == gamestate.Modes.CONTROLSPAGE: controlspage.handle_events() elif gamestate.mode == gamestate.Modes.SPLASH: splash.handle_events() elif gamestate.mode == gamestate.Modes.STAGESELECT: stageselect.handle_events() elif gamestate.mode == gamestate.Modes.CREDITS: credits.handle_events() if gamestate.drawing_mode == gamestate.DrawingModes.UPDATE_ALL: pygame.display.flip() elif gamestate.drawing_mode == gamestate.DrawingModes.DIRTY_RECTS: wotsrendering.flush() gamestate.update_screen() if gamestate.hosting: versusserver.pump() gamestate.clock.tick(gamestate.frame_rate) except Exception as err: print("Unexpected error:", str(err)) if (versusmode.local_state != None and versusmode.local_state.simulation_process != None): if versusmode.local_state.simulation_process.is_alive(): print("terminating!")