mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
entrancePoint entity places toons sensibly
This commit is contained in:
parent
20350925e3
commit
ca04158482
@ -70,6 +70,8 @@ class EntrancePoint(Nodepath):
|
|||||||
type = 'entrancePoint'
|
type = 'entrancePoint'
|
||||||
attribs = (
|
attribs = (
|
||||||
('entranceId', -1, 'int'),
|
('entranceId', -1, 'int'),
|
||||||
|
('radius', 15, 'float', {'min':0}),
|
||||||
|
('theta', 20, 'float', {'min':0}),
|
||||||
)
|
)
|
||||||
|
|
||||||
class LogicGate(Entity):
|
class LogicGate(Entity):
|
||||||
|
@ -6,14 +6,22 @@ import NodePath
|
|||||||
class EntrancePoint(BasicEntities.NodePathEntity):
|
class EntrancePoint(BasicEntities.NodePathEntity):
|
||||||
def __init__(self, level, entId):
|
def __init__(self, level, entId):
|
||||||
BasicEntities.NodePathEntity.__init__(self, level, entId)
|
BasicEntities.NodePathEntity.__init__(self, level, entId)
|
||||||
|
self.rotator = self.attachNewNode('rotator')
|
||||||
|
self.placer = self.rotator.attachNewNode('placer')
|
||||||
self.initEntrancePoint()
|
self.initEntrancePoint()
|
||||||
|
|
||||||
def destroy(self):
|
def destroy(self):
|
||||||
self.destroyEntrancePoint()
|
self.destroyEntrancePoint()
|
||||||
|
self.placer.removeNode()
|
||||||
|
self.rotator.removeNode()
|
||||||
|
del self.placer, self.rotator
|
||||||
BasicEntities.NodePathEntity.destroy(self)
|
BasicEntities.NodePathEntity.destroy(self)
|
||||||
|
|
||||||
def placeToon(self, toon, toonIndex, numToons):
|
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):
|
def initEntrancePoint(self):
|
||||||
if self.entranceId >= 0:
|
if self.entranceId >= 0:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user