コード例 #1
0
def validate_fsm_name(name):
    path = format.append_to_path(fsm.get_fsms_lib(), name)
    try:
        # Lookup will fail if it's a new name (name not found)
        pynebula.lookup(path)
        msg = "Another finite state machine called '%s' already exists." % name
        cjr.show_error_message(msg)
        return False
    except:
        msg = "Renaming this FSM will invalidate any references to it that " \
            "any agent has.\nAre you sure that you want to rename it?"
        result = cjr.confirm_yes_no(None, msg)
        return result == wx.ID_YES
コード例 #2
0
def validate_fsm_name(name):
    path = format.append_to_path( fsm.get_fsms_lib(), name )
    try:
        # Lookup will fail if it's a new name (name not found)
        pynebula.lookup( path )
        msg = "Another finite state machine called '%s' already exists." % name
        cjr.show_error_message(msg)
        return False
    except:
        msg = "Renaming this FSM will invalidate any references to it that " \
            "any agent has.\nAre you sure that you want to rename it?"
        result = cjr.confirm_yes_no(None, msg)
        return result == wx.ID_YES
コード例 #3
0
 def on_select_fsm(self, event):
     type = self.__get_selected_list_item( self.ID_AgentType )
     if type != "":
         sm_name = self.choice_fsm.GetStringSelection()
         if sm_name == "<none>":
             sm = None
         else:
             sm_path = format.append_to_path( fsm.get_fsms_lib(), sm_name )
             sm = pynebula.lookup( sm_path )
         entity_class = servers.get_entity_class_server().getentityclass( str(type) )
         entity_class.setparentfsm( sm )
         servers.get_entity_class_server().setentityclassdirty( entity_class, True )
         index = self.__get_selected_list_index()
         self.list.SetStringItem( index, self.ID_FSM, sm_name )
コード例 #4
0
 def on_select_fsm(self, event):
     type = self.__get_selected_list_item(self.ID_AgentType)
     if type != "":
         sm_name = self.choice_fsm.GetStringSelection()
         if sm_name == "<none>":
             sm = None
         else:
             sm_path = format.append_to_path(fsm.get_fsms_lib(), sm_name)
             sm = pynebula.lookup(sm_path)
         entity_class = servers.get_entity_class_server().getentityclass(
             str(type))
         entity_class.setparentfsm(sm)
         servers.get_entity_class_server().setentityclassdirty(
             entity_class, True)
         index = self.__get_selected_list_index()
         self.list.SetStringItem(index, self.ID_FSM, sm_name)
コード例 #5
0
ファイル: filecmds.py プロジェクト: xuebai5/TheZombieEngine
    def __set_properties(self):

        # Grimoire
        saver = GrimoireLibrarySaver()
        if saver.is_save_allowed():
            self.savers.append(saver)

        # Current level
        saver = CurrentLevelSaver()
        if saver.is_save_allowed():
            self.savers.append(saver)

        # Entity classes
        saver = EntityClassesSaver()
        if saver.is_save_allowed():
            self.savers.append(saver)

        # Current preset
        saver = CurrentPresetSaver()
        if saver.is_save_allowed():
            self.savers.append(saver)

        # FSMs
        state_machine = pynebula.lookup(fsm.get_fsms_lib()).gethead()
        while state_machine is not None:
            if state_machine.isdirty():
                self.savers.append(FSMSaver(state_machine))
            state_machine = state_machine.getsucc()

        # Sound library
        saver = SoundLibSaver()
        if saver.is_save_allowed():
            self.savers.append(saver)

        # Material library
        saver = MaterialLibSaver()
        if saver.is_save_allowed():
            self.savers.append(saver)

        # Global variables
        saver = GlobalVarSaver()
        if saver.is_save_allowed():
            self.savers.append(saver)

        # Dialogs
        for child in app.get_top_window().GetChildren():
            if isinstance(child, dialoggui.guiDialog):
                if child.is_dirty():
                    saver = child.get_saver()
                    if saver is not None:
                        self.savers.append(saver)

        # Fill check list
        for saver in self.savers:
            i = self.checklist.Append(saver.get_brief())
            self.checklist.Check(i, True)

        # Default button
        if self.exiting:
            self.button_yes.SetDefault()
        else:
            self.button_save.SetDefault()
コード例 #6
0
 def __init__(self, parent):
     LibraryDialog.__init__(self, parent, fsm.get_fsms_lib(), 'nfsm',
         "finite state machine")
コード例 #7
0
ファイル: filecmds.py プロジェクト: xuebai5/TheZombieEngine
    def __set_properties(self):

        # Grimoire
        saver = GrimoireLibrarySaver()
        if saver.is_save_allowed():
            self.savers.append( saver )

        # Current level
        saver = CurrentLevelSaver()
        if saver.is_save_allowed():
            self.savers.append( saver )
        
        # Entity classes
        saver = EntityClassesSaver()
        if saver.is_save_allowed():
            self.savers.append( saver )
        
        # Current preset
        saver = CurrentPresetSaver()
        if saver.is_save_allowed():
            self.savers.append( saver )

        # FSMs
        state_machine = pynebula.lookup( fsm.get_fsms_lib() ).gethead()
        while state_machine is not None:
            if state_machine.isdirty():
                self.savers.append( FSMSaver(state_machine) )
            state_machine = state_machine.getsucc()
        
        # Sound library
        saver = SoundLibSaver()
        if saver.is_save_allowed():
            self.savers.append( saver )

        # Material library
        saver = MaterialLibSaver()
        if saver.is_save_allowed():
            self.savers.append( saver )
            
        # Global variables
        saver = GlobalVarSaver()
        if saver.is_save_allowed():
            self.savers.append( saver )
        
        # Dialogs
        for child in app.get_top_window().GetChildren():
            if isinstance(child, dialoggui.guiDialog):
                if child.is_dirty():
                    saver = child.get_saver()
                    if saver is not None:
                        self.savers.append( saver )
        
        # Fill check list
        for saver in self.savers:
            i = self.checklist.Append( saver.get_brief() )
            self.checklist.Check( i, True )
        
        # Default button
        if self.exiting:
            self.button_yes.SetDefault()
        else:
            self.button_save.SetDefault()