mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-25 12:42:41 -06:00
52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
from direct.directnotify import DirectNotifyGlobal
|
|
from direct.distributed.DistributedObject import DistributedObject
|
|
from direct.interval.IntervalGlobal import *
|
|
from toontown.toon import ToonHead
|
|
from toontown.toon import ToonDNA
|
|
from toontown.nametag import NametagGroup
|
|
from otp.otpbase import OTPGlobals
|
|
|
|
class DistributedJorElCam(DistributedObject):
|
|
notify = DirectNotifyGlobal.directNotify.newCategory('DistributedJorElCam')
|
|
|
|
def __init__(self, cr):
|
|
DistributedObject.__init__(self, cr)
|
|
self.head = None
|
|
self.dna = None
|
|
|
|
def generate(self):
|
|
DistributedObject.generate(self)
|
|
self.dna = ToonDNA.ToonDNA()
|
|
self.dna.newToonRandom()
|
|
self.head = ToonHead.ToonHead()
|
|
self.head.setupHead(self.dna)
|
|
self.head.reparentTo(render)
|
|
self.head.setPos(75, 0, 20)
|
|
self.head.setHpr(90, 0, 0)
|
|
self.head.setScale(10)
|
|
self.head.startBlink()
|
|
self.head.startLookAround()
|
|
|
|
pieces = [['*head*', '*muzzle*'], ['*ears*', '*nose*']]
|
|
for p in pieces[0]:
|
|
pc = '**/%s' % p
|
|
for node in self.head.findAllMatches(pc):
|
|
if not node.is_empty():
|
|
node.setColor(1, 1, 1, 1)
|
|
for p in pieces[1]:
|
|
pc = '**/%s' % p
|
|
for node in self.head.findAllMatches(pc):
|
|
if not node.is_empty():
|
|
node.setColor(0, 0, 0, 1)
|
|
|
|
base.cr.jorElHead = self.head
|
|
|
|
def delete(self):
|
|
del self.head
|
|
del base.cr.jorElHead
|
|
DistributedObject.delete(self)
|
|
|
|
def disable(self):
|
|
self.head.cleanup()
|
|
self.head.removeNode()
|
|
DistributedObject.disable(self)
|