*** empty log message ***

This commit is contained in:
Mike Goslin 2001-05-31 19:58:29 +00:00
parent 53369f4a45
commit 7910c64f53
5 changed files with 40 additions and 9 deletions

View File

@ -14,7 +14,6 @@ class Interval(DirectObject):
# create Interval DirectNotify category # create Interval DirectNotify category
notify = directNotify.newCategory("Interval") notify = directNotify.newCategory("Interval")
#notify.setDebug(1)
playbackCounter = 0 playbackCounter = 0

View File

@ -3,17 +3,19 @@ from DirectObject import *
from PhysicsManagerGlobal import * from PhysicsManagerGlobal import *
import ForceNode import ForceNode
import DirectNotifyGlobal
class ForceGroup(DirectObject): class ForceGroup(DirectObject):
forceNum = 1 notify = DirectNotifyGlobal.directNotify.newCategory('ForceGroup')
id = 1
def __init__(self, name = None): def __init__(self, name = None):
"""__init__(self)""" """__init__(self)"""
if (name == None): if (name == None):
self.name = 'ForceGroup-%d' % self.forceNum self.name = 'ForceGroup-%d' % ForceGroup.id
self.forceNum = self.forceNum + 1 ForceGroup.id += 1
else: else:
self.name = name self.name = name
@ -24,7 +26,13 @@ class ForceGroup(DirectObject):
self.particleEffect = None self.particleEffect = None
# Default to enabled # Default to enabled
self.enable() #self.enable()
def cleanup(self):
self.disable()
self.nodePath.removeNode()
self.node = None
self.particleEffect = None
def enable(self): def enable(self):
"""enable(self) """enable(self)

View File

@ -10,7 +10,7 @@ class ParticleEffect(NodePath):
notify = DirectNotifyGlobal.directNotify.newCategory('ParticleEffect') notify = DirectNotifyGlobal.directNotify.newCategory('ParticleEffect')
id = 1 id = 1
def __init__(self, name=None): def __init__(self, name=None, particles=None):
"""__init__()""" """__init__()"""
NodePath.__init__(self) NodePath.__init__(self)
if (name == None): if (name == None):
@ -25,7 +25,17 @@ class ParticleEffect(NodePath):
self.particlesDict = {} self.particlesDict = {}
self.forceGroupDict = {} self.forceGroupDict = {}
# The effect's particle system # The effect's particle system
self.addParticles(Particles.Particles()) if (particles != None):
self.addParticles(particles)
def cleanup(self):
for f in self.forceGroupDict.values():
f.cleanup()
for p in self.particlesDict.values():
p.cleanup()
forceGroupDict = {}
particlesDict = {}
self.removeNode()
def enable(self): def enable(self):
"""enable()""" """enable()"""

View File

@ -67,7 +67,17 @@ class Particles(ParticleSystem.ParticleSystem):
# Enable particles by default # Enable particles by default
self.fEnabled = 0 self.fEnabled = 0
self.enable() #self.enable()
def cleanup(self):
self.disable()
self.setRenderParent(self.node)
self.node.removePhysical(self)
self.nodePath.removeNode()
self.node = None
self.factory = None
self.renderer = None
self.emitter = None
def enable(self): def enable(self):
"""enable()""" """enable()"""
@ -86,6 +96,9 @@ class Particles(ParticleSystem.ParticleSystem):
def isEnabled(self): def isEnabled(self):
return self.fEnabled return self.fEnabled
def getNode(self):
return self.node
def setFactory(self, type): def setFactory(self, type):
"""setFactory(type)""" """setFactory(type)"""
if (self.factoryType == type): if (self.factoryType == type):

View File

@ -37,7 +37,8 @@ class ParticlePanel(AppShell):
self.particleEffect = particleEffect self.particleEffect = particleEffect
else: else:
# Or create a new one if none given # Or create a new one if none given
pe = ParticleEffect.ParticleEffect('effect-1') particles = Particles.Particles()
pe = ParticleEffect.ParticleEffect('effect-1', particles)
self.particleEffect = pe self.particleEffect = pe
pe.reparentTo(render) pe.reparentTo(render)
pe.enable() pe.enable()