コード例 #1
0
ファイル: nebulagui.py プロジェクト: xuebai5/TheZombieEngine
 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
コード例 #2
0
ファイル: nebulagui.py プロジェクト: xuebai5/TheZombieEngine
 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
コード例 #3
0
 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()
コード例 #4
0
ファイル: levelcmds.py プロジェクト: xuebai5/TheZombieEngine
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
コード例 #5
0
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