mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
Added support for name in addNewObject function
This commit is contained in:
parent
d4bb6e276a
commit
87e588689f
@ -45,6 +45,7 @@ PROP_BLIND = 4 # blind type value
|
|||||||
|
|
||||||
TYPE_CONV = {PROP_INT: int, PROP_BOOL: bool, PROP_FLOAT: float, PROP_STR: str}
|
TYPE_CONV = {PROP_INT: int, PROP_BOOL: bool, PROP_FLOAT: float, PROP_STR: str}
|
||||||
|
|
||||||
# these dynamic args should be used in update function declaration
|
# these dynamic args should be used in create / update function declaration
|
||||||
|
ARG_NAME = '_arg_name'
|
||||||
ARG_VAL = '_arg_val' # value from UI
|
ARG_VAL = '_arg_val' # value from UI
|
||||||
ARG_OBJ = '_arg_object' # obj information data structure
|
ARG_OBJ = '_arg_object' # obj information data structure
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
Defines ObjectMgrBase
|
Defines ObjectMgrBase
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os, time, wx, types
|
import os, time, wx, types, copy
|
||||||
|
|
||||||
from direct.task import Task
|
from direct.task import Task
|
||||||
from direct.actor.Actor import Actor
|
from direct.actor.Actor import Actor
|
||||||
@ -65,7 +65,7 @@ class ObjectMgrBase:
|
|||||||
self.lastUidMod = 0
|
self.lastUidMod = 0
|
||||||
return newUid
|
return newUid
|
||||||
|
|
||||||
def addNewObject(self, typeName, uid = None, model = None, parent=None, anim = None, fSelectObject=True, nodePath=None):
|
def addNewObject(self, typeName, uid = None, model = None, parent=None, anim = None, fSelectObject=True, nodePath=None, nameStr=None):
|
||||||
""" function to add new obj to the scene """
|
""" function to add new obj to the scene """
|
||||||
if parent is None:
|
if parent is None:
|
||||||
parent = self.editor.NPParent
|
parent = self.editor.NPParent
|
||||||
@ -83,7 +83,13 @@ class ObjectMgrBase:
|
|||||||
if nodePath is None:
|
if nodePath is None:
|
||||||
if objDef.createFunction:
|
if objDef.createFunction:
|
||||||
funcName = objDef.createFunction[OG.FUNC_NAME]
|
funcName = objDef.createFunction[OG.FUNC_NAME]
|
||||||
funcArgs = objDef.createFunction[OG.FUNC_ARGS]
|
funcArgs = copy.deepcopy(objDef.createFunction[OG.FUNC_ARGS])
|
||||||
|
|
||||||
|
for pair in funcArgs.items():
|
||||||
|
if pair[1] == OG.ARG_NAME:
|
||||||
|
funcArgs[pair[0]] = nameStr
|
||||||
|
break;
|
||||||
|
|
||||||
if type(funcName) == types.StringType:
|
if type(funcName) == types.StringType:
|
||||||
if funcName.startswith('.'):
|
if funcName.startswith('.'):
|
||||||
# when it's using default objectHandler
|
# when it's using default objectHandler
|
||||||
@ -586,7 +592,12 @@ class ObjectMgrBase:
|
|||||||
else:
|
else:
|
||||||
animStr = "None"
|
animStr = "None"
|
||||||
|
|
||||||
self.saveData.append("\nobjects['%s'] = objectMgr.addNewObject('%s', '%s', %s, %s, %s, fSelectObject=False)"%(uid, objDef.name, uid, modelStr, parentStr, animStr))
|
if objDef.named:
|
||||||
|
nameStr = "'%s'"%np.getName()
|
||||||
|
else:
|
||||||
|
nameStr = "None"
|
||||||
|
|
||||||
|
self.saveData.append("\nobjects['%s'] = objectMgr.addNewObject('%s', '%s', %s, %s, '%s', False, None, %s)"%(uid, objDef.name, uid, modelStr, parentStr, animStr, nameStr))
|
||||||
self.saveData.append("if objects['%s']:"%uid)
|
self.saveData.append("if objects['%s']:"%uid)
|
||||||
self.saveData.append(" objects['%s'].setPos(%s)"%(uid, np.getPos()))
|
self.saveData.append(" objects['%s'].setPos(%s)"%(uid, np.getPos()))
|
||||||
self.saveData.append(" objects['%s'].setHpr(%s)"%(uid, np.getHpr()))
|
self.saveData.append(" objects['%s'].setHpr(%s)"%(uid, np.getHpr()))
|
||||||
|
@ -9,7 +9,7 @@ class ObjectGen:
|
|||||||
class ObjectBase(ObjectGen):
|
class ObjectBase(ObjectGen):
|
||||||
""" Base class for obj definitions """
|
""" Base class for obj definitions """
|
||||||
def __init__(self, name='', createFunction = None, model = None, models= [], anims = [], animNames = [], properties={},
|
def __init__(self, name='', createFunction = None, model = None, models= [], anims = [], animNames = [], properties={},
|
||||||
movable = True, actor = False):
|
movable = True, actor = False, named=False):
|
||||||
ObjectGen.__init__(self, name)
|
ObjectGen.__init__(self, name)
|
||||||
self.createFunction = createFunction
|
self.createFunction = createFunction
|
||||||
self.model = model
|
self.model = model
|
||||||
@ -19,6 +19,7 @@ class ObjectBase(ObjectGen):
|
|||||||
self.properties = copy.deepcopy(properties)
|
self.properties = copy.deepcopy(properties)
|
||||||
self.movable = movable
|
self.movable = movable
|
||||||
self.actor = actor
|
self.actor = actor
|
||||||
|
self.named = named
|
||||||
|
|
||||||
class ObjectPaletteBase:
|
class ObjectPaletteBase:
|
||||||
"""
|
"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user