*** empty log message ***

This commit is contained in:
Mark Mine 2000-11-28 22:46:52 +00:00
parent 2c72484f9c
commit c7566dd995
2 changed files with 100 additions and 13 deletions

View File

@ -1,8 +1,8 @@
from ShowBaseGlobal import *
from DirectSession import *
# If specified in the user's Configrc, create the direct session
if base.wantDIRECT:
from DirectSession import *
direct = base.direct = DirectSession()
else:
# Otherwise set the values to None

View File

@ -155,6 +155,11 @@ class LevelEditor(NodePath, PandaObject):
self.attributeDictionary['windowOrienation'] = '_ur'
self.attributeDictionary['numWindows'] = 0
# Streets
attributeList = self.getCatalogCodes('street')
self.attributeDictionary['streetTypes'] = attributeList
self.attributeDictionary['streetType'] = attributeList[1]
def getActiveColor(self):
return self.attributeDictionary['activeColor']
@ -289,6 +294,15 @@ class LevelEditor(NodePath, PandaObject):
def getPropTypes(self):
return self.attributeDictionary['propTypes']
def getStreetType(self):
return self.attributeDictionary['streetType']
def setStreetType(self,dnaString):
self.attributeDictionary['streetType'] = dnaString
def getStreetTypes(self):
return self.attributeDictionary['streetTypes']
def getSelectedLevelObject(self):
return self.selectedLevelObject
@ -434,8 +448,8 @@ class LevelEditor(NodePath, PandaObject):
self.attributeDictionary['toontownCentralStyleDictionary'])
self.pieMenuDictionary['styleMenu'] = (
self.pieMenuDictionary['toontownCentralStyleMenu'])
self.attributeDictionary['streetTexture'] = 'street_street_tex'
self.attributeDictionary['sidewalkTexture'] = 'street_sidewalk_tex'
self.attributeDictionary['streetTexture'] = 'street_street_TT_tex'
self.attributeDictionary['sidewalkTexture'] = 'street_sidewalk_TT_tex'
self.dnaOutputDir = 'ToontownCentral'
self.dnaOutputFile = 'toontown_central_working.dna'
self.panel.editMenu.selectitem('Toontown Central')
@ -449,9 +463,9 @@ class LevelEditor(NodePath, PandaObject):
self.attributeDictionary['donaldsDockStyleDictionary'])
self.pieMenuDictionary['styleMenu'] = (
self.pieMenuDictionary['donaldsDockStyleMenu'])
self.attributeDictionary['streetTexture'] = 'street_street_dock_tex'
self.attributeDictionary['streetTexture'] = 'street_street_DD_tex'
self.attributeDictionary['sidewalkTexture'] = (
'street_sidewalk_dock_tex')
'street_sidewalk_DD_tex')
self.dnaOutputDir = 'DonaldsDock'
self.dnaOutputFile = 'donalds_dock_working.dna'
self.panel.editMenu.selectitem('Donalds Dock')
@ -465,9 +479,9 @@ class LevelEditor(NodePath, PandaObject):
self.attributeDictionary['minniesMelodyLandStyleDictionary'])
self.pieMenuDictionary['styleMenu'] = (
self.pieMenuDictionary['minniesMelodyLandStyleMenu'])
self.attributeDictionary['streetTexture'] = 'street_street_dock_tex'
self.attributeDictionary['streetTexture'] = 'street_street_MM_tex'
self.attributeDictionary['sidewalkTexture'] = (
'street_sidewalk_dock_tex')
'street_sidewalk_MM_tex')
self.dnaOutputDir = 'MinniesMelodyLand'
self.dnaOutputFile = 'minnies_melody_land_working.dna'
self.panel.editMenu.selectitem('Minnies Melody Land')
@ -481,9 +495,9 @@ class LevelEditor(NodePath, PandaObject):
self.attributeDictionary['theBurrrghStyleDictionary'])
self.pieMenuDictionary['styleMenu'] = (
self.pieMenuDictionary['theBurrrghStyleMenu'])
self.attributeDictionary['streetTexture'] = 'street_street_dock_tex'
self.attributeDictionary['streetTexture'] = 'street_street_BR_tex'
self.attributeDictionary['sidewalkTexture'] = (
'street_sidewalk_dock_tex')
'street_sidewalk_BR_tex')
self.dnaOutputDir = 'TheBurrrgh'
self.dnaOutputFile = 'the_burrrgh_working.dna'
self.panel.editMenu.selectitem('The Burrrgh')
@ -839,6 +853,9 @@ class LevelEditor(NodePath, PandaObject):
target = selectedObjectDNA
if self.direct.fControl:
menuType = 'propColor'
elif objClass.eq(DNAStreet.getClassType()):
menuType = 'streetType'
target = selectedObjectDNA
# Now spawn apropriate menu task
if ((target != None) | (menuType == 'cornice')):
self.spawnMenuTask(menuType, target)
@ -962,6 +979,9 @@ class LevelEditor(NodePath, PandaObject):
elif menu == 'propType':
self.activeMenu = self.pieMenuDictionary['propTypesMenu']
state = self.getDNAString(aDNAObject)
elif menu == 'streetType':
self.activeMenu = self.pieMenuDictionary['streetTypesMenu']
state = self.getDNAString(aDNAObject)
elif menu == 'style':
self.activeMenu = self.pieMenuDictionary['styleMenu']
state = 1
@ -1319,6 +1339,38 @@ class LevelEditor(NodePath, PandaObject):
return newPropTypeMenu
def createStreetTypesMenu(self):
numItems = len(self.getStreetTypes())
streetNodes = []
for i in range (numItems):
node = OnscreenText(self.getStreetTypes()[i],0,0)
streetNodes.append(node)
newStreetTypeMenu = hidden.attachNewNode(NamedNode('streetTypeMenu'))
radius = 0.7
angle = deg2Rad(360.0/numItems)
for i in range (numItems):
# Get the node
node = streetNodes[i]
node.setScale(node.getScale())
# Reposition it
node.setXY(radius * math.cos(i * angle),
(radius *
(self.direct.chan.width/
float(self.direct.chan.height)) *
math.sin(i * angle)))
# Add it to the streetTypeMenu
node.reparentTo(newStreetTypeMenu)
# Scale the whole shebang down by 0.5
newStreetTypeMenu.setScale(0.5)
return newStreetTypeMenu
def createStyleSample(self, style, num):
# Create a wall
wall = DNAWall('wall')
@ -1584,6 +1636,9 @@ class LevelEditor(NodePath, PandaObject):
self.pieMenuDictionary['propTypesMenu'] = (
PieMenu(self.direct,self.createPropTypesMenu(),
self.updatePropNum))
self.pieMenuDictionary['streetTypesMenu'] = (
PieMenu(self.direct,self.createStreetTypesMenu(),
self.updateStreetNum))
# Create several different style menus
self.createStyleMenus()
# Create several differnt color palette menus
@ -2103,9 +2158,12 @@ class LevelEditor(NodePath, PandaObject):
def initNewDNAGroupWithParent(self, dnaGroup, rootNode):
# Reflect currently selected prop type
if dnaGroup.__class__.getClassType().eq(DNAProp.getClassType()):
self.updatePropType(dnaGroup,self.getPropType())
groupClass = dnaGroup.__class__.getClassType()
if groupClass.eq(DNAProp.getClassType()):
self.updatePropDNA(dnaGroup,self.getPropType())
elif groupClass.eq(DNAStreet.getClassType()):
self.updateStreetDNA(dnaGroup,self.getStreetType())
# Create a new copy of dnaGroup's class
# Extract group's class using __class__
# Call that class's constructor passing in dnaGroup to make a copy
@ -2124,7 +2182,7 @@ class LevelEditor(NodePath, PandaObject):
# Create a new dna Group of the same type a dnaGroup
newDNAGroup = dnaGroup.__class__(dnaGroup)
if dnaGroup.__class__.getClassType().eq(DNAProp.getClassType()):
self.updatePropType(newDNAGroup,self.getPropType())
self.updatePropDNA(newDNAGroup,self.getPropType())
self.initDNAGroupWithParentType(newDNAGroup, self.groupParent, type)
@ -2567,10 +2625,39 @@ class LevelEditor(NodePath, PandaObject):
def updatePropDNA(self, aDNAProp, dnaString):
aDNAProp.setCode(self.dnaStore.findCode(dnaString))
aDNAProp.setName(dnaString + '_DNARoot')
# Replace object in levelObjects dictionary and scene graph
self.replaceLevelObjectNodePath(self.selectedLevelObject)
self.setPropType(dnaString)
def updateStreetNum(self,streetNumber):
self.updateStreetType(self.targetDNAObject, streetNumber)
def updateStreetType(self, aDNAStreet, streetNumber):
# Which streetType was picked by the user?
if (streetNumber < 0):
dnaString = self.activeMenu.getInitialState()
else:
dnaString = self.getStreetTypes()[streetNumber]
# Now update the texture on the wall with that texture
self.updateStreetDNA(aDNAStreet,dnaString)
def updateStreetDNA(self, aDNAStreet, dnaString):
aDNAStreet.setCode(self.dnaStore.findCode(dnaString))
aDNAStreet.setName(dnaString + '_DNARoot')
aDNAStreet.setStreetTexture(
self.getDNACode(self.attributeDictionary['streetTexture']))
if (string.find(dnaString, 'keyboard') >= 0):
aDNAStreet.setSidewalkTexture(
self.getDNACode('street_sidewalk_MM_keyboard_tex'))
else:
aDNAStreet.setSidewalkTexture(
self.getDNACode(self.attributeDictionary['sidewalkTexture']))
# Replace object in levelObjects dictionary and scene graph
self.replaceLevelObjectNodePath(self.selectedLevelObject)
self.setStreetType(dnaString)
def updateRandomNumWindows(self, aDNAFlatBuilding):
for i in range(aDNAFlatBuilding.getNumChildren()):
child = aDNAFlatBuilding.at(i)