mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
fix support for spec creation
This commit is contained in:
parent
efb973de26
commit
6aaa15f2f2
@ -54,21 +54,25 @@ class LevelSpec:
|
|||||||
|
|
||||||
if __dev__:
|
if __dev__:
|
||||||
if newSpec:
|
if newSpec:
|
||||||
# add required entities
|
# add basic required entities
|
||||||
|
import EntityTypes
|
||||||
|
import EntityTypeRegistry
|
||||||
|
etr = EntityTypeRegistry.EntityTypeRegistry(EntityTypes)
|
||||||
|
self.setEntityTypeReg(etr)
|
||||||
|
|
||||||
# UberZone
|
# UberZone
|
||||||
entId = LevelConstants.UberZoneEntId
|
entId = LevelConstants.UberZoneEntId
|
||||||
self.insertEntity(entId, 'zone', None)
|
self.insertEntity(entId, 'zone')
|
||||||
self.doSetAttrib(entId, 'modelZoneNum',
|
self.doSetAttrib(entId, 'modelZoneNum',
|
||||||
LevelConstants.UberZoneNum)
|
LevelConstants.UberZoneNum)
|
||||||
self.doSetAttrib(entId, 'name', 'UberZone')
|
self.doSetAttrib(entId, 'name', 'UberZone')
|
||||||
# LevelMgr
|
# LevelMgr
|
||||||
entId = LevelConstants.LevelMgrEntId
|
entId = LevelConstants.LevelMgrEntId
|
||||||
self.insertEntity(entId, 'levelMgr', None)
|
self.insertEntity(entId, 'levelMgr')
|
||||||
self.doSetAttrib(entId, 'name', 'LevelMgr')
|
self.doSetAttrib(entId, 'name', 'LevelMgr')
|
||||||
# EditMgr
|
# EditMgr
|
||||||
entId = LevelConstants.EditMgrEntId
|
entId = LevelConstants.EditMgrEntId
|
||||||
self.insertEntity(entId, 'editMgr', None)
|
self.insertEntity(entId, 'editMgr')
|
||||||
self.doSetAttrib(entId, 'name', 'EditMgr')
|
self.doSetAttrib(entId, 'name', 'EditMgr')
|
||||||
|
|
||||||
def getNumScenarios(self):
|
def getNumScenarios(self):
|
||||||
@ -194,7 +198,7 @@ class LevelSpec:
|
|||||||
# officially changed
|
# officially changed
|
||||||
self.level.handleAttribChange(entId, attrib, value, username)
|
self.level.handleAttribChange(entId, attrib, value, username)
|
||||||
|
|
||||||
def insertEntity(self, entId, entType, parentEntId):
|
def insertEntity(self, entId, entType, parentEntId='unspecified'):
|
||||||
LevelSpec.notify.info('inserting entity %s (%s)' % (entId, entType))
|
LevelSpec.notify.info('inserting entity %s (%s)' % (entId, entType))
|
||||||
assert entId not in self.entId2specDict
|
assert entId not in self.entId2specDict
|
||||||
assert self.entTypeReg is not None
|
assert self.entTypeReg is not None
|
||||||
@ -209,7 +213,8 @@ class LevelSpec:
|
|||||||
for name, desc in attribDescs.items():
|
for name, desc in attribDescs.items():
|
||||||
spec[name] = desc.getDefaultValue()
|
spec[name] = desc.getDefaultValue()
|
||||||
spec['type'] = entType
|
spec['type'] = entType
|
||||||
spec['parentEntId'] = parentEntId
|
if parentEntId != 'unspecified':
|
||||||
|
spec['parentEntId'] = parentEntId
|
||||||
|
|
||||||
if self.hasLevel():
|
if self.hasLevel():
|
||||||
# notify the level
|
# notify the level
|
||||||
|
Loading…
x
Reference in New Issue
Block a user