entrancePoint entity places toons sensibly

This commit is contained in:
Darren Ranalli 2003-11-18 22:24:06 +00:00
parent 20350925e3
commit ca04158482
2 changed files with 11 additions and 1 deletions

View File

@ -70,6 +70,8 @@ class EntrancePoint(Nodepath):
type = 'entrancePoint'
attribs = (
('entranceId', -1, 'int'),
('radius', 15, 'float', {'min':0}),
('theta', 20, 'float', {'min':0}),
)
class LogicGate(Entity):

View File

@ -6,14 +6,22 @@ import NodePath
class EntrancePoint(BasicEntities.NodePathEntity):
def __init__(self, level, entId):
BasicEntities.NodePathEntity.__init__(self, level, entId)
self.rotator = self.attachNewNode('rotator')
self.placer = self.rotator.attachNewNode('placer')
self.initEntrancePoint()
def destroy(self):
self.destroyEntrancePoint()
self.placer.removeNode()
self.rotator.removeNode()
del self.placer, self.rotator
BasicEntities.NodePathEntity.destroy(self)
def placeToon(self, toon, toonIndex, numToons):
toon.setPosHpr(self, 0,0,0, 0,0,0)
self.placer.setY(-self.radius)
self.rotator.setH((-self.theta*(numToons-1)*.5) +
(toonIndex*self.theta))
toon.setPosHpr(self.placer, 0,0,0, 0,0,0)
def initEntrancePoint(self):
if self.entranceId >= 0: