*** 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
notify = directNotify.newCategory("Interval")
#notify.setDebug(1)
playbackCounter = 0

View File

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

View File

@ -10,7 +10,7 @@ class ParticleEffect(NodePath):
notify = DirectNotifyGlobal.directNotify.newCategory('ParticleEffect')
id = 1
def __init__(self, name=None):
def __init__(self, name=None, particles=None):
"""__init__()"""
NodePath.__init__(self)
if (name == None):
@ -25,7 +25,17 @@ class ParticleEffect(NodePath):
self.particlesDict = {}
self.forceGroupDict = {}
# 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):
"""enable()"""

View File

@ -67,7 +67,17 @@ class Particles(ParticleSystem.ParticleSystem):
# Enable particles by default
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):
"""enable()"""
@ -86,6 +96,9 @@ class Particles(ParticleSystem.ParticleSystem):
def isEnabled(self):
return self.fEnabled
def getNode(self):
return self.node
def setFactory(self, type):
"""setFactory(type)"""
if (self.factoryType == type):

View File

@ -37,7 +37,8 @@ class ParticlePanel(AppShell):
self.particleEffect = particleEffect
else:
# 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
pe.reparentTo(render)
pe.enable()