当前位置: 首页>>代码示例>>Python>>正文


Python DNAUtil类代码示例

本文整理汇总了Python中DNAUtil的典型用法代码示例。如果您正苦于以下问题:Python DNAUtil类的具体用法?Python DNAUtil怎么用?Python DNAUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了DNAUtil类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _postGenerate

    def _postGenerate(self, storage, np):
        height = np.getPythonTag('wall_height') or 0.0
        np.clearPythonTag('wall_height')

        # First, set up collisions. We need a (self.width, height)-sized square.
        barrierNode = storage.findNode('wall_camera_barrier')
        if not barrierNode:
            raise DNAError('No wall_camera_barrier in storage.')

        barrier = barrierNode.copyTo(np)
        barrier.setScale(self.width, 1, height)

        type = DNAUtil.getBuildingClassFromName(self.id)
        if type == 'tb':
            self.generateSuitGeometry(storage, np, height, barrier)
            self.generateCogdoGeometry(storage, np, height, barrier)

        # We need to set collisions on all of our knock knock doors:
        block = DNAUtil.getBlockFromName(self.name)
        if block is not None:
            for collisionNP in np.findAllMatches('**/door_*/+CollisionNode'):
                collisionNP.setName('KnockKnockDoorSphere_%d' % block)

        # Finally, flatten down:
        np.flattenStrong()
开发者ID:ponyboy837,项目名称:SecretGitLolYoloSweg2015,代码行数:25,代码来源:DNAFlatBuilding.py

示例2: generateCogdoGeometry

    def generateCogdoGeometry(self, storage, np, height, barrier):
        node = np.getParent().attachNewNode('cb' + self.id[2:])
        node.setTransform(np.getTransform())

        barrier.copyTo(node)

        block = DNAUtil.getBlockFromName(self.id)
        x = int(np.getX())
        y = int(np.getY())
        seed = block*1231 + x*83 + y

        codes = storage.getNumCatalogCodes('cogdo_wall')
        if codes != 0:
            wallCode = storage.getCatalogCode('cogdo_wall', seed%codes)
            wall = storage.findNode(wallCode)
        else:
            wall = None

        if wall:
            wallNode = wall.copyTo(node)
            wallNode.setScale(self.width, 1, height)

            for door in DNAUtil.getChildrenOfType(self, DNAFlatDoor):
                door.generateSuitGeometry(storage, wallNode)

        node.flattenStrong()
        node.stash()
开发者ID:ponyboy837,项目名称:SecretGitLolYoloSweg2015,代码行数:27,代码来源:DNAFlatBuilding.py

示例3: makeFromDGI

 def makeFromDGI(self, dgi):
     DNANode.DNANode.makeFromDGI(self, dgi)
     self.code = DNAUtil.dgiExtractString8(dgi)
     self.wallColor = DNAUtil.dgiExtractColor(dgi)
     self.title = DNAUtil.dgiExtractString8(dgi)
     self.article = DNAUtil.dgiExtractString8(dgi)
     self.buildingType = DNAUtil.dgiExtractString8(dgi)
开发者ID:nate97,项目名称:src,代码行数:7,代码来源:DNALandmarkBuilding.py

示例4: makeFromDGI

 def makeFromDGI(self, dgi):
     DNANode.DNANode.makeFromDGI(self, dgi)
     self.code = DNAUtil.dgiExtractString8(dgi)
     self.color = DNAUtil.dgiExtractColor(dgi)
     self.width = dgi.getInt16() / 100.0
     self.height = dgi.getInt16() / 100.0
     self.bDefaultColor = dgi.getBool()
开发者ID:CalebSmith376,项目名称:src,代码行数:7,代码来源:DNASignGraphic.py

示例5: handleNode

 def handleNode(self, dgi, target = None):
     if target is None:
         return
     numNodes = dgi.getUint16()
     for _ in xrange(numNodes):
         code = DNAUtil.dgiExtractString8(dgi)
         file = DNAUtil.dgiExtractString8(dgi)
         node = DNAUtil.dgiExtractString8(dgi)
         np = NodePath(loader.pdnaModel(file))
         if node:
             newNode = np.find('**/' + node).copyTo(NodePath())
             np.removeNode()
             np = newNode
         np.setTag('DNACode', code)
         np.setTag('DNARoot', node)
         target(np, code)
开发者ID:CalebSmith376,项目名称:src,代码行数:16,代码来源:DNALoader.py

示例6: _makeNode

 def _makeNode(self, storage, parent):
     frontNode = parent.find('**/*building*_front')
     if frontNode.isEmpty():
         frontNode = parent.find('**/*_front')
     if not frontNode.getNode(0).isGeomNode():
         frontNode = frontNode.find('**/+GeomNode')
     frontNode.setEffect(DecalEffect.make())
     node = storage.findNode(self.code)
     if node is None:
         pass
     doorNode = node.copyTo(frontNode, 0)
     origin = parent.find('**/*door_origin')
     origin.node().setPreserveTransform(ModelNode.PTNet)
     self.setupDoor(doorNode, parent, origin, storage, DNAUtil.getBlockFromName(parent.getName()), self.getColor())
     return doorNode
开发者ID:Toonerz,项目名称:Toontown-World-Online-Leak,代码行数:15,代码来源:DNADoor.py

示例7: setupSuitBuildingOrigin

    def setupSuitBuildingOrigin(self, nodePath):
        building = DNAUtil.getBuildingClassFromName(self.id)
        if building != 'tb':
            return

        name = 'sb' + self.id[2:]

        node = nodePath.find('**/*suit_building_origin')
        if node.isEmpty():
            #TODO: dna logging
            #print 'DNALandmarkBuilding ' + name + ' did not find **/*suit_building_origin'
            node = nodePath.attachNewNode(ModelNode(self.name))
        else:
            node.wrtReparentTo(nodePath)
            node.setName(name)

        node.node().setPreserveTransform(ModelNode.PTNet)
        node.hide()
开发者ID:AdrianF98,项目名称:Toontown-Rewritten,代码行数:18,代码来源:DNALandmarkBuilding.py

示例8: makeFromDGI

    def makeFromDGI(self, dgi, dnaStorage):
        DNAGroup.DNAGroup.makeFromDGI(self, dgi)

        numEdges = dgi.getUint16()
        for _ in xrange(numEdges):
            index = dgi.getUint16()
            endPoint = dgi.getUint16()
            self.addSuitEdge(dnaStorage.getSuitEdge(index, endPoint))

        numVisibles = dgi.getUint16()
        for _ in xrange(numVisibles):
            self.addVisible(DNAUtil.dgiExtractString8(dgi))

        numCells = dgi.getUint16()
        for _ in xrange(numCells):
            w = dgi.getUint8()
            h = dgi.getUint8()
            x, y, z = [dgi.getInt32() / 100.0 for i in xrange(3)]
            self.addBattleCell(DNABattleCell.DNABattleCell(w, h, LVector3f(x, y, z)))
开发者ID:CalebSmith376,项目名称:src,代码行数:19,代码来源:DNAVisGroup.py

示例9: makeFromDGI

 def makeFromDGI(self, dgi):
     DNAGroup.DNAGroup.makeFromDGI(self, dgi)
     self.code = DNAUtil.dgiExtractString8(dgi)
     self.color = DNAUtil.dgiExtractColor(dgi)
开发者ID:nate97,项目名称:src,代码行数:4,代码来源:DNADoor.py

示例10: makeFromDGI

 def makeFromDGI(self, dgi):
     DNAGroup.DNAGroup.makeFromDGI(self, dgi)
     self.code = DNAUtil.dgiExtractString8(dgi)
     self.color = DNAUtil.dgiExtractColor(dgi)
     self.windowCount = dgi.getUint8()
开发者ID:CalebSmith376,项目名称:src,代码行数:5,代码来源:DNAWindows.py

示例11: makeFromDGI

 def makeFromDGI(self, dgi):
     DNALandmarkBuilding.DNALandmarkBuilding.makeFromDGI(self, dgi)
     self.animName = DNAUtil.dgiExtractString8(dgi)
开发者ID:nate97,项目名称:src,代码行数:3,代码来源:DNAAnimBuilding.py

示例12: _storeData

 def _storeData(self, data):
     block = data.getBlock(DNAUtil.getBlockFromName(self.id))
     block.title = self.getTitle()
     block.buildingType = self.type
     block.zone = self.getVisGroup().getZone()
     block.node = self
开发者ID:AdrianF98,项目名称:Toontown-Rewritten,代码行数:6,代码来源:DNALandmarkBuilding.py

示例13: handleStorageData

    def handleStorageData(self, dgi):
        # Catalog Codes
        numRoots = dgi.getUint16()
        for _ in xrange(numRoots):
            root = DNAUtil.dgiExtractString8(dgi)
            numCodes = dgi.getUint8()
            for i in xrange(numCodes):
                code = DNAUtil.dgiExtractString8(dgi)
                self.dnaStorage.storeCatalogCode(root, code)

        # Textures
        numTextures = dgi.getUint16()
        for _ in xrange(numTextures):
            code = DNAUtil.dgiExtractString8(dgi)
            filename = DNAUtil.dgiExtractString8(dgi)
            self.dnaStorage.storeTexture(code, loader.pdnaTexture(filename, okMissing=True))

        # Fonts
        numFonts = dgi.getUint16()
        for _ in xrange(numFonts):
            code = DNAUtil.dgiExtractString8(dgi)
            filename = DNAUtil.dgiExtractString8(dgi)
            self.dnaStorage.storeFont(code, loader.pdnaFont(filename))

        # Nodes
        self.handleNode(dgi, target = self.dnaStorage.storeNode)
        self.handleNode(dgi, target = self.dnaStorage.storeHoodNode)
        self.handleNode(dgi, target = self.dnaStorage.storePlaceNode)

        # Blocks
        numBlocks = dgi.getUint16()
        for _ in xrange(numBlocks):
            number = dgi.getUint8()
            zone = dgi.getUint16()
            title = DNAUtil.dgiExtractString8(dgi)
            article = DNAUtil.dgiExtractString8(dgi)
            bldgType = DNAUtil.dgiExtractString8(dgi)
            self.dnaStorage.storeBlock(number, title, article, bldgType, zone)

        # Suit Points
        numPoints = dgi.getUint16()
        for _ in xrange(numPoints):
            index = dgi.getUint16()
            pointType = dgi.getUint8()
            x, y, z = (dgi.getInt32() / 100.0 for i in xrange(3))
            graph = dgi.getUint8()
            landmarkBuildingIndex = dgi.getInt8()
            self.dnaStorage.storeSuitPoint(DNASuitPoint.DNASuitPoint(index, pointType, LVector3f(x, y, z), landmarkBuildingIndex))

        # Suit Edges
        numEdges = dgi.getUint16()
        for _ in xrange(numEdges):
            index = dgi.getUint16()
            numPoints = dgi.getUint16()
            for i in xrange(numPoints):
                endPoint = dgi.getUint16()
                zoneId = dgi.getUint16()
                self.dnaStorage.storeSuitEdge(index, endPoint, zoneId)

        # Battle Cells
        numCells = dgi.getUint16()
        for _ in xrange(numCells):
            w = dgi.getUint8()
            h = dgi.getUint8()
            x, y, z = (dgi.getInt32() / 100.0 for i in xrange(3))
            self.dnaStorage.storeBattleCell(DNABattleCell.DNABattleCell(w, h, LVector3f(x, y, z)))
开发者ID:CalebSmith376,项目名称:src,代码行数:66,代码来源:DNALoader.py


注:本文中的DNAUtil类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。