Exemple #1
0
 def __init__(self, parent, frameModel, startPlatformModel,
              endPlatformModel, quadLengthUnits, quadVisibilityAhead,
              quadVisibiltyBehind):
     self.parent = parent
     self.quadLengthUnits = quadLengthUnits
     self._halfQuadLengthUnits = quadLengthUnits / 2.0
     self.quadVisibiltyAhead = quadVisibilityAhead
     self.quadVisibiltyBehind = quadVisibiltyBehind
     self._frameModel = frameModel
     self.root = NodePath('CogdoFlyingLevel')
     self.quadrantRoot = NodePath('QuadrantsRoot')
     self.quadrantRoot.reparentTo(self.root)
     self._startPlatformModel = startPlatformModel
     self._startPlatformModel.reparentTo(self.root)
     self._startPlatformModel.setZ(Globals.Level.StartPlatformHeight)
     self._endPlatformModel = endPlatformModel
     self._endPlatformModel.reparentTo(self.root)
     self._endPlatformModel.setZ(Globals.Level.EndPlatformHeight)
     self.wallR = self._frameModel.find('**/wallR')
     self.wallL = self._frameModel.find('**/wallL')
     self._exit = CogdoGameExit()
     self._exit.reparentTo(self._endPlatformModel)
     loc = self._endPlatformModel.find('**/exit_loc')
     offset = loc.getPos(render)
     self._exit.setPos(render, offset)
     self.quadrants = []
     self.visibleQuadIndices = []
     self._numQuads = 0
     self._currentQuadNum = -1
     self._camera = None
     self._initCollisions()
     self.upLimit = self._frameModel.find('**/limit_up').getZ(render)
     self.downLimit = self._frameModel.find('**/limit_down').getZ(render)
     self.leftLimit = self._frameModel.find('**/limit_left').getX(
         render) - 30.0
     self.rightLimit = self._frameModel.find('**/limit_right').getX(
         render) + 30.0
     self.backLimit = -self.quadLengthUnits
     self.forwardLimit = self.quadLengthUnits * 20
     self._frameModel.flattenStrong()
     self.gatherableFactory = CogdoFlyingGatherableFactory()
     self.obstacleFactory = CogdoFlyingObtacleFactory()
     return