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 unload(): global loaded global exit_button global start_match_label global ip_address_input global player_status_ui_dictionary global join_match_button global assigned_positions global spectate_button global local_player_position global local_player_container_created exit_button = None loaded = False start_match_label = None network_message_label = None join_match_button = None assigned_positions = None spectate_button = None player_status_ui_dictionary = None local_player_position = None local_player_container_created = False if versusclient.connected(): unregister_network_callbacks() #clean up any remaining messages to the client versusclient.get_network_messages() versusclient.listener.Pump() versusclient.listener.close() versusclient.unload() print("listener closed") if gamestate.hosting: #clean up any remaining messages to the server versusserver.server.Pump() versusserver.server.close() versusserver.server = None print("server closed") versusserver.broadcast.close() versusserver.broadcast = None print("server broadcasting closed") gamestate.hosting = False