diff --git a/direct/src/leveleditor/ObjectMgr.py b/direct/src/leveleditor/ObjectMgr.py index 18fc502e31..28d4d06b2f 100755 --- a/direct/src/leveleditor/ObjectMgr.py +++ b/direct/src/leveleditor/ObjectMgr.py @@ -106,12 +106,18 @@ class ObjectMgr: newobj = loader.loadModel(Filename.fromOsSpecific(model).getFullpath()) anim = '' - if len(objDef.anims) > 0: - anim = objDef.anims[0] + i = 0 + defaultAnim = '' + for i in range(len(objDef.anims)): + anim = objDef.anims[i] # load new anim animName = os.path.basename(anim) + if i < len(objDef.animNames): + animName = objDef.animNames[i] newAnim = newobj.loadAnims({animName:anim}) - newobj.loop(animName) + if i == 0: + defaultAnim = animName + newobj.loop(defaultAnim) if newobj is None: return None diff --git a/direct/src/leveleditor/ObjectPaletteBase.py b/direct/src/leveleditor/ObjectPaletteBase.py index 7dd5f91387..02bf548953 100755 --- a/direct/src/leveleditor/ObjectPaletteBase.py +++ b/direct/src/leveleditor/ObjectPaletteBase.py @@ -4,13 +4,14 @@ import ObjectGlobals as OG class ObjectBase: """ Base class for obj definitions """ - def __init__(self, name='', createFunction = None, model = None, models= [], anims = [], properties={}, + def __init__(self, name='', createFunction = None, model = None, models= [], anims = [], animNames = [], properties={}, movable = True, actor = False): self.name = name self.createFunction = createFunction self.model = model self.models = models[:] self.anims = anims[:] + self.animNames = animNames[:] self.properties = copy.deepcopy(properties) self.movable = movable self.actor = actor