def gotCurrentSpec(self, curSpec):
     self.entTypeReg = self.level.getEntityTypeReg()
     curSpec.setEntityTypeReg(self.entTypeReg)
     self.axis = loader.loadModel('models/misc/xyzAxis')
     self.axis.setColorOff()
     self.axis.setColorScale(1, 1, 1, 1, 1)
     self.initializeLevel(self.doId, curSpec, curSpec.getScenario())
     entCreator = self.level.createEntityCreator()
     self.entTypes = entCreator.getEntityTypes()
     self.selectedEntity = None
     base.startTk()
     import InGameEditor
     doneEvent = self.uniqueName('editorDone')
     saveAsEvent = self.uniqueName('saveSpec')
     requestSaveEvent = self.uniqueName('requestSpecSave')
     undoEvent = self.uniqueName('undoEvent')
     redoEvent = self.uniqueName('redoEvent')
     wireframeEvent = self.uniqueName('wireframeEvent')
     oobeEvent = self.uniqueName('oobeEvent')
     csEvent = self.uniqueName('csEvent')
     runEvent = self.uniqueName('runEvent')
     texEvent = self.uniqueName('texEvent')
     self.editor = InGameEditor.InGameEditor(
         level=self,
         doneEvent=doneEvent,
         requestSaveEvent=requestSaveEvent,
         saveAsEvent=saveAsEvent,
         undoEvent=undoEvent,
         redoEvent=redoEvent,
         wireframeEvent=wireframeEvent,
         oobeEvent=oobeEvent,
         csEvent=csEvent,
         runEvent=runEvent,
         texEvent=texEvent)
     self.acceptOnce(doneEvent, self.doneEditing)
     self.accept(saveAsEvent, self.saveSpec)
     self.accept(requestSaveEvent, self.requestSpecSave)
     self.accept(undoEvent, self.doUndo)
     self.accept(redoEvent, self.doRedo)
     self.accept(wireframeEvent, self.doWireframe)
     self.accept(oobeEvent, self.doOobe)
     self.accept(csEvent, self.doCs)
     self.accept(runEvent, self.doRun)
     self.accept(texEvent, self.doTex)
     self.accept(self.editor.getEventMsgName('Select'),
                 self.handleEntitySelect)
     self.accept(self.editor.getEventMsgName('Flash'),
                 self.handleEntitySelect)
     self.editorInitialized = 1
     self.buildEntityTree()
     return
Esempio n. 2
0
    def gotCurrentSpec(self, curSpec):
        self.entTypeReg = self.level.getEntityTypeReg()

        curSpec.setEntityTypeReg(self.entTypeReg)

        # for showing entities
        self.axis = loader.loadModel("models/misc/xyzAxis.bam")
        self.axis.setColorOff()
        # last 1 overrides default colorScale
        self.axis.setColorScale(1,1,1,1,1)

        ## by default, color the zones
        #self.level.setColorZones(1)

        # init the Level; this will create all the entities
        self.initializeLevel(self.doId, curSpec, curSpec.getScenario())

        # maybe this should come from the actual level object? or from the AI?
        entCreator = self.level.createEntityCreator()
        self.entTypes = entCreator.getEntityTypes()

        self.selectedEntity = None

        base.startTk()
        import InGameEditor
        doneEvent = self.uniqueName('editorDone')
        saveAsEvent = self.uniqueName('saveSpec')
        requestSaveEvent = self.uniqueName('requestSpecSave')
        undoEvent = self.uniqueName('undoEvent')
        redoEvent = self.uniqueName('redoEvent')
        wireframeEvent = self.uniqueName('wireframeEvent')
        oobeEvent = self.uniqueName('oobeEvent')
        csEvent = self.uniqueName('csEvent')
        runEvent = self.uniqueName('runEvent')
        texEvent = self.uniqueName('texEvent')
        self.editor = InGameEditor.InGameEditor(
            level=self,
            doneEvent=doneEvent,
            requestSaveEvent=requestSaveEvent,
            saveAsEvent=saveAsEvent,
            undoEvent=undoEvent,
            redoEvent=redoEvent,
            wireframeEvent=wireframeEvent,
            oobeEvent=oobeEvent,
            csEvent=csEvent,
            runEvent=runEvent,
            texEvent=texEvent,
            )
        self.acceptOnce(doneEvent, self.doneEditing)
        self.accept(saveAsEvent, self.saveSpec)
        self.accept(requestSaveEvent, self.requestSpecSave)
        self.accept(undoEvent, self.doUndo)
        self.accept(redoEvent, self.doRedo)
        self.accept(wireframeEvent, self.doWireframe)
        self.accept(oobeEvent, self.doOobe)
        self.accept(csEvent, self.doCs)
        self.accept(runEvent, self.doRun)
        self.accept(texEvent, self.doTex)

        self.accept(self.editor.getEventMsgName('Select'),
                    self.handleEntitySelect)
        self.accept(self.editor.getEventMsgName('Flash'),
                    self.handleEntitySelect)
        
        self.editorInitialized = 1
        self.buildEntityTree()