mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-10-31 16:57:54 +00:00
71 lines
2.5 KiB
Python
71 lines
2.5 KiB
Python
from toontown.toonbase.ToontownGlobals import *
|
|
from direct.interval.IntervalGlobal import *
|
|
from direct.directnotify import DirectNotifyGlobal
|
|
from toontown.suit import GoonPathData
|
|
from otp.level import BasicEntities
|
|
|
|
class RenderingEntity(BasicEntities.NodePathEntity):
|
|
notify = DirectNotifyGlobal.directNotify.newCategory('PathMasterEntity')
|
|
|
|
def __init__(self, level, entId):
|
|
BasicEntities.NodePathEntity.__init__(self, level, entId)
|
|
if hasattr(self, 'colorR'):
|
|
self.setColorScale(self.colorR, self.colorG, self.colorB, self.colorA)
|
|
if hasattr(self, 'blending'):
|
|
self.setBlending(self.blending)
|
|
if hasattr(self, 'fogOn'):
|
|
self.setFogOn(self.fogOn)
|
|
|
|
def destroy(self):
|
|
BasicEntities.NodePathEntity.destroy(self)
|
|
|
|
def setColorR(self, newColor):
|
|
self.colorR = newColor
|
|
self.setColorScale(self.colorR, self.colorG, self.colorB, self.colorA)
|
|
|
|
def setColorG(self, newColor):
|
|
self.colorG = newColor
|
|
self.setColorScale(self.colorR, self.colorG, self.colorB, self.colorA)
|
|
|
|
def setColorB(self, newColor):
|
|
self.colorB = newColor
|
|
self.setColorScale(self.colorR, self.colorG, self.colorB, self.colorA)
|
|
|
|
def setColorA(self, newColor):
|
|
self.colorA = newColor
|
|
self.setColorScale(self.colorR, self.colorG, self.colorB, self.colorA)
|
|
|
|
def setColorScale(self, R, G, B, A):
|
|
BasicEntities.NodePathEntity.setColorScale(self, R, G, B, A)
|
|
self.chooseBin()
|
|
self.setBlending(self.blending)
|
|
|
|
def chooseBin(self):
|
|
if not hasattr(self, 'renderBin'):
|
|
self.renderBin = 'default'
|
|
self.setBin(self.renderBin, 0)
|
|
|
|
def setBlending(self, blending):
|
|
self.blending = blending
|
|
if blending == 'Additive':
|
|
self.setAttrib(ColorBlendAttrib.make(ColorBlendAttrib.MAdd))
|
|
self.setDepthWrite(False)
|
|
elif blending == 'Alpha':
|
|
self.setAttrib(ColorBlendAttrib.make(ColorBlendAttrib.MNone))
|
|
self.setDepthWrite(True)
|
|
self.setTransparency(1)
|
|
else:
|
|
self.setAttrib(ColorBlendAttrib.make(ColorBlendAttrib.MNone))
|
|
self.setDepthWrite(True)
|
|
self.setTransparency(0)
|
|
self.chooseBin()
|
|
|
|
def setFogOn(self, fog):
|
|
self.fogOn = fog
|
|
if self.fogOn:
|
|
myFog = Fog('Fog Rendering Fog of Rendering')
|
|
myFog.setColor(1.0, 0.0, 0.0)
|
|
myFog.setExpDensity(0.5)
|
|
self.setFog(myFog)
|
|
else:
|
|
self.clearFog()
|