def __check_not_in_gameplay_mode(self): if app.is_in_gameplay_mode(): cjr.show_error_message( "Please exit gameplay mode before closing Conjurer.") return False else: return True
def __check_not_in_gameplay_mode(self): if app.is_in_gameplay_mode(): cjr.show_error_message( "Please exit gameplay mode before closing Conjurer." ) return False else: return True
def on_toggle_ai(self, event): enable = event.Checked() or app.is_in_gameplay_mode() self.Check(ID_ToggleAI, enable) self.get_frame().get_toolbar().ToggleTool(ID_ToggleAI, enable) if enable: try: try: wx.BeginBusyCursor() servers.get_command_server().clean() servers.get_conjurer().saveeditorstate() app.get_ai_tester().enablegameplayupdating() finally: wx.EndBusyCursor() except: # make sure any errors are not hidden raise else: app.get_ai_tester().disablegameplayupdating() servers.get_conjurer().restoreeditorstate()
def prelevel_process(is_new_level): # Forbid any level operation while in game mode if app.is_in_gameplay_mode(): cjr.show_error_message( "Operation not allowed while in game mode" ) return False # Exit from any test mode app.get_ai_tester().disablegameplayupdating() app.get_ai_tester().disablesoundsources() # Clear undo buffer servers.get_command_server().clean() if not is_new_level: return True # Discard deleted entities servers.get_entity_object_server().discarddeletedobjects() servers.get_entity_class_server().discarddeletedclasses() # What follows should be done only for new and open level commands # Clear selection app.get_object_state().resetselection() # Make terrain state release some buffers if servers.get_conjurer().getcurrentstate() == 'terrain': trn.get_terrain_module().setoutdoor(None) # Begin a persist-restore process to close those invalid windows for # the new level and refresh the valid ones (continue in postlevel_process) # Persist guiDialog windows frame = app.get_top_window() prelevel_process.child_data = [] for child in frame.get_child_dialogs(): data = persist_window(child) if data is not None: prelevel_process.child_data.insert(0, data) return True
def prelevel_process(is_new_level): # Forbid any level operation while in game mode if app.is_in_gameplay_mode(): cjr.show_error_message("Operation not allowed while in game mode") return False # Exit from any test mode app.get_ai_tester().disablegameplayupdating() app.get_ai_tester().disablesoundsources() # Clear undo buffer servers.get_command_server().clean() if not is_new_level: return True # Discard deleted entities servers.get_entity_object_server().discarddeletedobjects() servers.get_entity_class_server().discarddeletedclasses() # What follows should be done only for new and open level commands # Clear selection app.get_object_state().resetselection() # Make terrain state release some buffers if servers.get_conjurer().getcurrentstate() == 'terrain': trn.get_terrain_module().setoutdoor(None) # Begin a persist-restore process to close those invalid windows for # the new level and refresh the valid ones (continue in postlevel_process) # Persist guiDialog windows frame = app.get_top_window() prelevel_process.child_data = [] for child in frame.get_child_dialogs(): data = persist_window(child) if data is not None: prelevel_process.child_data.insert(0, data) return True