mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
defer importing ParticleSystemManager etc. until base.enableParticles() is called
This commit is contained in:
parent
0f39a32569
commit
4456d45f62
@ -1,6 +1,4 @@
|
|||||||
from pandac.PandaModules import *
|
from pandac.PandaModules import *
|
||||||
from direct.particles.ParticleManagerGlobal import *
|
|
||||||
from direct.showbase.PhysicsManagerGlobal import *
|
|
||||||
|
|
||||||
from pandac.PandaModules import ParticleSystem
|
from pandac.PandaModules import ParticleSystem
|
||||||
from pandac.PandaModules import BaseParticleFactory
|
from pandac.PandaModules import BaseParticleFactory
|
||||||
@ -83,14 +81,14 @@ class Particles(ParticleSystem):
|
|||||||
|
|
||||||
def enable(self):
|
def enable(self):
|
||||||
if (self.fEnabled == 0):
|
if (self.fEnabled == 0):
|
||||||
physicsMgr.attachPhysical(self)
|
base.physicsMgr.attachPhysical(self)
|
||||||
particleMgr.attachParticlesystem(self)
|
base.particleMgr.attachParticlesystem(self)
|
||||||
self.fEnabled = 1
|
self.fEnabled = 1
|
||||||
|
|
||||||
def disable(self):
|
def disable(self):
|
||||||
if (self.fEnabled == 1):
|
if (self.fEnabled == 1):
|
||||||
physicsMgr.removePhysical(self)
|
base.physicsMgr.removePhysical(self)
|
||||||
particleMgr.removeParticlesystem(self)
|
base.particleMgr.removeParticlesystem(self)
|
||||||
self.fEnabled = 0
|
self.fEnabled = 0
|
||||||
|
|
||||||
def isEnabled(self):
|
def isEnabled(self):
|
||||||
|
@ -21,8 +21,6 @@ from JobManagerGlobal import *
|
|||||||
from EventManagerGlobal import *
|
from EventManagerGlobal import *
|
||||||
from PythonUtil import *
|
from PythonUtil import *
|
||||||
from direct.showbase import PythonUtil
|
from direct.showbase import PythonUtil
|
||||||
from direct.particles.ParticleManagerGlobal import *
|
|
||||||
from PhysicsManagerGlobal import *
|
|
||||||
#from direct.interval.IntervalManager import ivalMgr
|
#from direct.interval.IntervalManager import ivalMgr
|
||||||
from direct.interval import IntervalManager
|
from direct.interval import IntervalManager
|
||||||
from InputStateGlobal import inputState
|
from InputStateGlobal import inputState
|
||||||
@ -243,14 +241,11 @@ class ShowBase(DirectObject.DirectObject):
|
|||||||
self.jobMgr = jobMgr
|
self.jobMgr = jobMgr
|
||||||
|
|
||||||
# Particle manager
|
# Particle manager
|
||||||
self.particleMgr = particleMgr
|
self.particleMgr = None
|
||||||
self.particleMgr.setFrameStepping(1)
|
|
||||||
self.particleMgrEnabled = 0
|
self.particleMgrEnabled = 0
|
||||||
|
|
||||||
# Physics manager
|
# Physics manager
|
||||||
self.physicsMgr = physicsMgr
|
self.physicsMgr = None
|
||||||
integrator = LinearEulerIntegrator()
|
|
||||||
self.physicsMgr.attachLinearIntegrator(integrator)
|
|
||||||
self.physicsMgrEnabled = 0
|
self.physicsMgrEnabled = 0
|
||||||
self.physicsMgrAngular = 0
|
self.physicsMgrAngular = 0
|
||||||
|
|
||||||
@ -1362,6 +1357,17 @@ class ShowBase(DirectObject.DirectObject):
|
|||||||
|
|
||||||
def enableParticles(self):
|
def enableParticles(self):
|
||||||
if not self.particleMgrEnabled:
|
if not self.particleMgrEnabled:
|
||||||
|
if not self.particleMgr:
|
||||||
|
from direct.particles.ParticleManagerGlobal import particleMgr
|
||||||
|
self.particleMgr = particleMgr
|
||||||
|
self.particleMgr.setFrameStepping(1)
|
||||||
|
|
||||||
|
if not self.physicsMgr:
|
||||||
|
from PhysicsManagerGlobal import physicsMgr
|
||||||
|
self.physicsMgr = physicsMgr
|
||||||
|
integrator = LinearEulerIntegrator()
|
||||||
|
self.physicsMgr.attachLinearIntegrator(integrator)
|
||||||
|
|
||||||
self.particleMgrEnabled = 1
|
self.particleMgrEnabled = 1
|
||||||
self.physicsMgrEnabled = 1
|
self.physicsMgrEnabled = 1
|
||||||
self.taskMgr.remove('manager-update')
|
self.taskMgr.remove('manager-update')
|
||||||
|
@ -6,7 +6,9 @@ __all__ = ['Transitions']
|
|||||||
from pandac.PandaModules import *
|
from pandac.PandaModules import *
|
||||||
from direct.gui.DirectGui import *
|
from direct.gui.DirectGui import *
|
||||||
from direct.task import Task
|
from direct.task import Task
|
||||||
from direct.interval.IntervalGlobal import *
|
from direct.interval.LerpInterval import LerpColorScaleInterval, LerpColorInterval, LerpScaleInterval, LerpPosInterval
|
||||||
|
from direct.interval.MetaInterval import Sequence, Parallel
|
||||||
|
from direct.interval.FunctionInterval import Func
|
||||||
|
|
||||||
class Transitions:
|
class Transitions:
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user