本文整理汇总了Python中toontown.suit.SuitDNA类的典型用法代码示例。如果您正苦于以下问题:Python SuitDNA类的具体用法?Python SuitDNA怎么用?Python SuitDNA使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SuitDNA类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: createStreet
def createStreet(self, streetZone, shopZone, hqZone):
flunky = DistributedTutorialSuitAI.DistributedTutorialSuitAI(self.air)
suitType = SuitDNA.getSuitType('f')
suitTrack = SuitDNA.getSuitDept('f')
flunky.setupSuitDNA(1, suitType, suitTrack)
flunky.generateWithRequired(streetZone)
desc = NPCToons.NPCToonDict.get(20001)
npc = NPCToons.createNPC(self.air, 20001, desc, streetZone)
npc.setTutorial(1)
npc.d_setPos(207.4, 18.81, -0.475)
npc.d_setHpr(90.0, 0, 0)
示例2: __setupSuitInfo
def __setupSuitInfo(self, suit, bldgTrack, suitLevel, suitType):
suitName, skeleton, v2, waiter = simbase.air.suitInvasionManager.getInvadingCog()
if suitName and self.respectInvasions:
suitType = SuitDNA.getSuitType(suitName)
bldgTrack = SuitDNA.getSuitDept(suitName)
suitLevel = min(max(suitLevel, suitType), suitType + 4)
dna = SuitDNA.SuitDNA()
dna.newSuitRandom(suitType, bldgTrack)
suit.dna = dna
self.notify.debug('Creating suit type ' + suit.dna.name + ' of level ' + str(suitLevel) + ' from type ' + str(suitType) + ' and track ' + str(bldgTrack))
suit.setLevel(suitLevel)
return (skeleton, v2, waiter)
示例3: __setupSuitInfo
def __setupSuitInfo(self, suit, bldgTrack, suitLevel, suitType):
suitDeptIndex, suitTypeIndex, flags = simbase.air.suitInvasionManager.getInvadingCog()
if self.respectInvasions:
if suitDeptIndex is not None:
bldgTrack = SuitDNA.suitDepts[suitDeptIndex]
if suitTypeIndex is not None:
suitName = SuitDNA.getSuitName(suitDeptIndex, suitTypeIndex)
suitType = SuitDNA.getSuitType(suitName)
suitLevel = min(max(suitLevel, suitType), suitType + 4)
dna = SuitDNA.SuitDNA()
dna.newSuitRandom(suitType, bldgTrack)
suit.dna = dna
suit.setLevel(suitLevel)
return flags
示例4: __setupSuitInfo
def __setupSuitInfo(self, suit, bldgTrack, suitLevel, suitType):
suitDeptIndex, suitTypeIndex, flags = simbase.air.suitInvasionManager.getInvadingCog()
if self.respectInvasions:
if suitDeptIndex is not None:
bldgTrack = SuitDNA.suitDepts[suitDeptIndex]
if suitTypeIndex is not None:
suitName = SuitDNA.getSuitName(suitDeptIndex, suitTypeIndex)
suitType = SuitDNA.getSuitType(suitName)
suitLevel = min(max(suitLevel, suitType), suitType + 4)
dna = SuitDNA.SuitDNA()
dna.newSuitRandom(suitType, bldgTrack)
suit.dna = dna
self.notify.debug('Creating suit type ' + suit.dna.name + ' of level ' + str(suitLevel) + ' from type ' + str(suitType) + ' and track ' + str(bldgTrack))
suit.setLevel(suitLevel)
return flags
示例5: getSuitName
def getSuitName(self):
if self.suitDeptIndex is not None:
if self.suitTypeIndex is not None:
return SuitDNA.getSuitName(self.suitDeptIndex, self.suitTypeIndex)
else:
return SuitDNA.suitDepts[self.suitDeptIndex]
else:
return SuitDNA.suitHeadTypes[0]
示例6: getCogdoTrack
def getCogdoTrack(suitName):
tracks = getAllowedTracks()
if not tracks:
return None
track = SuitDNA.getSuitDept(suitName)
return track if track in tracks else random.choice(tracks)
示例7: setInvasionStatus
def setInvasionStatus(self, msgType, suitType, remaining, flags):
if msgType not in ToontownGlobals.SuitInvasions:
return
if suitType in SuitDNA.suitHeadTypes:
attributes = SuitBattleGlobals.SuitAttributes[suitType]
suitNames = {'singular': attributes['name'], 'plural': attributes['pluralname']}
elif suitType in SuitDNA.suitDepts:
suitNames = {'singular': SuitDNA.getDeptFullname(suitType), 'plural': SuitDNA.getDeptFullnameP(suitType)}
else:
return
track = Sequence()
base.localAvatar.inventory.setInvasionCreditMultiplier(1 if msgType in ToontownGlobals.EndingInvasions else ToontownBattleGlobals.getInvasionMultiplier())
for i, message in enumerate(ToontownGlobals.SuitInvasions[msgType]):
track.append(Wait(5 if i else 1))
track.append(Func(base.localAvatar.setSystemMessage, 0, (TTLocalizer.SuitInvasionPrefix + message) % suitNames))
track.start()
示例8: foodDetach
def foodDetach(self=self, diner=diner):
foodModel = diner.getRightHand().getChild(0)
(foodModel.reparentTo(serviceLoc),)
(foodModel.setPosHpr(0, 0, 0, 0, 0, 0),)
scaleAdj = 1
if SuitDNA.getSuitBodyType(diner.dna.name) == "c":
scaleAdj = 0.59999999999999998
else:
scakeAdj = 0.80000000000000004
oldScale = foodModel.getScale()
newScale = oldScale / scaleAdj
foodModel.setScale(newScale)
示例9: foodDetach
def foodDetach(self = self, diner = diner):
if diner.getRightHand().getNumChildren() < 1:
return
foodModel = diner.getRightHand().getChild(0)
(foodModel.reparentTo(serviceLoc),)
(foodModel.setPosHpr(0, 0, 0, 0, 0, 0),)
scaleAdj = 1
if SuitDNA.getSuitBodyType(diner.dna.name) == 'c':
scaleAdj = 0.6
else:
scakeAdj = 0.8
oldScale = foodModel.getScale()
newScale = oldScale / scaleAdj
foodModel.setScale(newScale)
示例10: foodAttach
def foodAttach(self = self, diner = diner):
foodModel = self.serviceLocs[chairIndex].getChild(0)
(foodModel.reparentTo(diner.getRightHand()),)
(foodModel.setHpr(Point3(0, -94, 0)),)
(foodModel.setPos(Point3(-0.15, -0.7, -0.4)),)
scaleAdj = 1
if SuitDNA.getSuitBodyType(diner.dna.name) == 'c':
scaleAdj = 0.6
(foodModel.setPos(Point3(0.1, -0.25, -0.31)),)
else:
scaleAdj = 0.8
(foodModel.setPos(Point3(-0.25, -0.85, -0.34)),)
oldScale = foodModel.getScale()
newScale = oldScale * scaleAdj
foodModel.setScale(newScale)
示例11: __genSuitObject
def __genSuitObject(self, suitDict, reserve):
suit = self.cogCtor(simbase.air, self)
dna = SuitDNA.SuitDNA()
dna.newSuitRandom(level=SuitDNA.getRandomSuitType(suitDict["level"]), dept=suitDict["track"])
suit.dna = dna
suit.setLevel(suitDict["level"])
suit.setSkeleRevives(suitDict.get("revives"))
suit.setLevelDoId(self.level.doId)
suit.setCogId(suitDict["cogId"])
suit.setReserve(reserve)
if suitDict["skeleton"]:
suit.setSkelecog(1)
suit.generateWithRequired(suitDict["zoneId"])
suit.boss = suitDict["boss"]
return suit
示例12: __init__
def __init__(self, numFloors, bldgLevel, bldgTrack, zone):
self.dbg_4SuitsPerFloor = config.GetBool('4-suits-per-floor', 0)
self.dbg_1SuitPerFloor = config.GetBool('1-suit-per-floor', 0)
self.zoneId = zone
self.numFloors = numFloors
self.respectInvasions = bldgTrack != "x"
dbg_defaultSuitName = simbase.config.GetString('suit-type', 'random')
if dbg_defaultSuitName == 'random':
self.dbg_defaultSuitType = None
else:
self.dbg_defaultSuitType = SuitDNA.getSuitType(dbg_defaultSuitName)
if isinstance(bldgLevel, types.StringType):
self.notify.warning('bldgLevel is a string!')
bldgLevel = int(bldgLevel)
self._genSuitInfos(numFloors, bldgLevel if bldgTrack != "x" else 19, bldgTrack)
示例13: foodAttach
def foodAttach(self=self, diner=diner):
foodModel = self.serviceLocs[chairIndex].getChild(0)
(foodModel.reparentTo(diner.getRightHand()),)
(foodModel.setHpr(Point3(0, -94, 0)),)
(foodModel.setPos(Point3(-0.14999999999999999, -0.69999999999999996, -0.40000000000000002)),)
scaleAdj = 1
if SuitDNA.getSuitBodyType(diner.dna.name) == "c":
scaleAdj = 0.59999999999999998
(foodModel.setPos(Point3(0.10000000000000001, -0.25, -0.31)),)
else:
scaleAdj = 0.80000000000000004
(foodModel.setPos(Point3(-0.25, -0.84999999999999998, -0.34000000000000002)),)
oldScale = foodModel.getScale()
newScale = oldScale * scaleAdj
foodModel.setScale(newScale)
示例14: createDiner
def createDiner(self, i):
diner = Suit.Suit()
diner.dna = SuitDNA.SuitDNA()
level = self.dinerInfo[i][2]
level -= 4
diner.dna.newSuitRandom(level=level, dept='c')
diner.setDNA(diner.dna)
if self.useNewAnimations:
diner.loop('sit', fromFrame=i)
else:
diner.pose('landing', 0)
locator = self.tableGroup.find('**/chair_%d' % (i + 1))
locatorScale = locator.getNetTransform().getScale()[0]
correctHeadingNp = locator.attachNewNode('correctHeading')
self.chairLocators[i] = correctHeadingNp
heading = self.rotationsPerSeatIndex[i]
correctHeadingNp.setH(heading)
sitLocator = correctHeadingNp.attachNewNode('sitLocator')
base.sitLocator = sitLocator
pos = correctHeadingNp.getPos(render)
if SuitDNA.getSuitBodyType(diner.dna.name) == 'c':
sitLocator.setPos(0.5, 3.65, -3.75)
else:
sitLocator.setZ(-2.4)
sitLocator.setY(2.5)
sitLocator.setX(0.5)
self.sitLocators[i] = sitLocator
diner.setScale(1.0 / locatorScale)
diner.reparentTo(sitLocator)
newLoc = NodePath('serviceLoc-%d-%d' % (self.index, i))
newLoc.reparentTo(correctHeadingNp)
newLoc.setPos(0, 3.0, 1)
self.serviceLocs[i] = newLoc
base.serviceLoc = newLoc
head = diner.find('**/joint_head')
newIndicator = DinerStatusIndicator.DinerStatusIndicator(parent=head, pos=Point3(0, 0, 3.5), scale=5.0)
newIndicator.wrtReparentTo(diner)
self.dinerStatusIndicators[i] = newIndicator
# remove nametag (rip lag)
diner.nametag3d.stash()
diner.nametag.destroy()
return diner
示例15: setupSuitBuilding
def setupSuitBuilding(self, nodePath):
if nodePath.isEmpty():
return
dnaStore = self.cr.playGame.dnaStore
level = int(self.difficulty / 2) + 1
suitNP = dnaStore.findNode("suit_landmark_" + chr(self.track) + str(level))
zoneId = dnaStore.getZoneFromBlockNumber(self.block)
zoneId = ZoneUtil.getTrueZoneId(zoneId, self.interiorZoneId)
newParentNP = base.cr.playGame.hood.loader.zoneDict[zoneId]
suitBuildingNP = suitNP.copyTo(newParentNP)
buildingTitle = dnaStore.getTitleFromBlockNumber(self.block)
if not buildingTitle:
buildingTitle = TTLocalizer.CogsInc
else:
buildingTitle += TTLocalizer.CogsIncExt
buildingTitle += "\n%s" % SuitDNA.getDeptFullname(chr(self.track))
textNode = TextNode("sign")
textNode.setTextColor(1.0, 1.0, 1.0, 1.0)
textNode.setFont(ToontownGlobals.getSuitFont())
textNode.setAlign(TextNode.ACenter)
textNode.setWordwrap(17.0)
textNode.setText(buildingTitle)
textHeight = textNode.getHeight()
zScale = (textHeight + 2) / 3.0
signOrigin = suitBuildingNP.find("**/sign_origin;+s")
backgroundNP = loader.loadModel("phase_5/models/modules/suit_sign")
backgroundNP.reparentTo(signOrigin)
backgroundNP.setPosHprScale(0.0, 0.0, textHeight * 0.8 / zScale, 0.0, 0.0, 0.0, 8.0, 8.0, 8.0 * zScale)
backgroundNP.node().setEffect(DecalEffect.make())
signTextNodePath = backgroundNP.attachNewNode(textNode.generate())
signTextNodePath.setPosHprScale(
0.0, 0.0, -0.21 + textHeight * 0.1 / zScale, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1 / zScale
)
signTextNodePath.setColor(1.0, 1.0, 1.0, 1.0)
frontNP = suitBuildingNP.find("**/*_front/+GeomNode;+s")
backgroundNP.wrtReparentTo(frontNP)
frontNP.node().setEffect(DecalEffect.make())
suitBuildingNP.setName("sb" + str(self.block) + ":_landmark__DNARoot")
suitBuildingNP.setPosHprScale(nodePath, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0)
suitBuildingNP.flattenMedium()
self.loadElevator(suitBuildingNP)
return suitBuildingNP