def __init__(self, serialNum, model, triggerRadius, triggerOffset=(0, 0, 0), animate=True, animDuration=0.2, instanceModel=True, name='CogdoGameGatherable'): NodePath.__init__(self, '%s-%d' % (name, serialNum)) self.serialNum = serialNum self._animate = animate if instanceModel: model.instanceTo(self) self._model = self else: self._model = model self._model.reparentTo(self) self._model.setPosHpr(0, 0, 0, 0, 0, 0) self._animDuration = animDuration self._animSeq = None self._initCollisions(triggerRadius, triggerOffset) self._update = None self._wasPickedUp = False return
def __init__( self, *args, **kwargs ): colour = kwargs.pop( 'colour', (1, 1, 1, .2) ) p3d.SingleTask.__init__( self, *args, **kwargs ) # Create a card maker cm = CardMaker( self.name ) cm.setFrame( 0, 1, 0, 1 ) # Init the node path, wrapping the card maker to make a rectangle NodePath.__init__( self, cm.generate() ) self.setColor( colour ) self.setTransparency( 1 ) self.reparentTo( self.root2d ) self.hide() # Create the rectangle border ls = LineSegs() ls.moveTo( 0, 0, 0 ) ls.drawTo( 1, 0, 0 ) ls.drawTo( 1, 0, 1 ) ls.drawTo( 0, 0, 1 ) ls.drawTo( 0, 0, 0 ) # Attach border to rectangle self.attachNewNode( ls.create() )
def __init__(self, moveTrack, tOffset, posScale = 1.0): NodePath.__init__(self) self.assign(hidden.attachNewNode(base.localAvatar.uniqueName('ring'))) self.setMoveTrack(moveTrack) self.setTOffset(tOffset) self.setPosScale(posScale) self.setT(0.0)
def __init__(self, *args, **kwargs): NodePath.__init__(self, *args, **kwargs) DirectObject.__init__(self) self.scale_signal = Signal() self.reset()
def __init__(self, game, id, x, y): NodePath.__init__(self, 'dropNode%s' % id) self.game = game self.id = id self.reparentTo(hidden) self.setPos(x, y, 0) shadow = loader.loadModel('phase_3/models/props/square_drop_shadow') shadow.setZ(0.2) shadow.setBin('ground', 10) shadow.setColor(1, 1, 1, 1) shadow.reparentTo(self) self.shadow = shadow drop = CogdoUtil.loadMazeModel('cabinetSmFalling') roll = random.randint(-15, 15) drop.setHpr(0, 0, roll) drop.setZ(Globals.DropHeight) self.collTube = CollisionTube(0, 0, 0, 0, 0, 4, Globals.DropCollisionRadius) self.collTube.setTangible(0) name = Globals.DropCollisionName self.collNode = CollisionNode(name) self.collNode.addSolid(self.collTube) self.collNodePath = drop.attachNewNode(self.collNode) self.collNodePath.hide() self.collNodePath.setTag('isFalling', str('True')) drop.reparentTo(self) self.drop = drop self._dropSfx = base.cogdoGameAudioMgr.createSfxIval('drop', volume=0.6)
def __init__(self, config, heights, voxels, X, Y, size, chunk_len, tex, water_tex): NodePath.__init__(self, 'ChunkModel') self.centerX = X self.centerY = Y self.config = config self.heights = heights self.tex = tex self.water_tex = water_tex self.size = size self.chunk_len = chunk_len self.size_voxel = self.size / self.chunk_len if self.size_voxel < 1: self.size_voxel = 1 self.size2 = self.size / 2 self.start_x = self.centerX - self.size2 self.start_y = self.centerY - self.size2 self.voxels = voxels self.v_format = GeomVertexFormat.getV3n3t2() self.v_data = GeomVertexData('chunk', self.v_format, Geom.UHStatic) self.create()
def __init__(self, fishManager, myData, index, trophy=0): NodePath.__init__(self, '%s_%d' % (myData['name'], index)) self.trophy = trophy self.myData = myData if not self.trophy: self.fishManager = fishManager self.index = index self.fsm = FishFSM(self) self.weight = random.randint(self.myData['weightRange'][0], self.myData['weightRange'][1]) else: self.weight = trophy self.adjustedScale = (self.myData['scaleRange'][1] - self.myData['scaleRange'][0]) * (self.weight - self.myData['weightRange'][0]) / (self.myData['weightRange'][1] - self.myData['weightRange'][0]) + self.myData['scaleRange'][0] self.initActor() if not self.trophy: self.initVariables() self.initFishStatusIcon() if FishingGlobals.wantDebugCollisionVisuals: self.initCollisions() self.avoidingFish = False self.biteBubbleEffect = None self.idleBubbleEffect = None self.fightBubbleEffect = None self.behaviorNameToFunction = {'straight': self.performStraightBehavior,'sineStraight': self.performSineStraightBehavior,'erratic': self.performErraticBehavior} self.sineDtAccumulator = 0.0 self.erraticDtAccumulator = 0.0 self.myZ = 0.0 if not self.trophy: self.setLightOff() return
def __init__(self, sx, sy, z, length): maker = CardMaker('land') NodePath.__init__(self, maker.generate()) #self.landNP = render.attachNewNode(maker.generate()) self.setHpr(0, -90, 0) self.setPos(sx, sy, z) self.setScale(length, 0, length)
def __init__(self, world, name, length, tex, leafModel, leafTex, pos=Vec3(0, 0, 0), numIterations=11, numCopies=6, vecList=[Vec3(0, 0, 1), Vec3(1, 0, 0), Vec3(0, -1, 0)]): NodePath.__init__(self, name) self.world = world self.gui = self.world.gui self.bodydata = GeomVertexData("body vertices", treeform, Geom.UHStatic) self.length = length self.pos = pos self.numIterations = numIterations self.numCopies = numCopies self.vecList = vecList self.tex = tex self.leafModel = leafModel self.leafTex = leafTex make_fractal_tree(self.bodydata, self, self.length) self.setTexture(self.tex, 1) self.flattenStrong()
def __init__(self, modelStanding, modelAnimationDict, turnRate, speed, agentList, massKg, collisionMask, name="", collisionHandler = None, collisionTraverser = None): NodePath.__init__(self, ActorNode(name + " actor node")) self.name = name self.actor = Actor() self.actor.loadModel(modelStanding) self.actor.loadAnims(modelAnimationDict) self.loop = self.actor.loop self.stop = self.actor.stop self.pose = self.actor.pose self.turnRate = turnRate self.speed = speed self.agentList = agentList self.massKg = massKg self.collisionMask = collisionMask if self.actor not in agentList: self.agentList.append(self.actor) self.actor.reparentTo(self) self.__setupCollisionHandling(collisionHandler, collisionTraverser)
def __init__(self, cogMenu, dept): NodePath.__init__(self, 'CogMenuBar-%s' % dept) self.dept = dept self.deptIndex = CogDisguiseGlobals.dept2deptIndex(self.dept) icons = loader.loadModel('phase_3/models/gui/cog_icons') self.icon = icons.find(ICON_NODES[self.deptIndex]).copyTo(self) self.icon.setColor(ICON_COLORS[self.deptIndex]) self.icon.setScale(0.07) self.icon.setX(-0.25) icons.removeNode() self.progressBar = DirectWaitBar( parent=self, relief=DirectGuiGlobals.SUNKEN, frameSize=(-1, 1, -0.15, 0.15), borderWidth=(0.02, 0.02), scale=0.20, frameColor=(DisguisePage.DeptColors[self.deptIndex][0] * 0.7, DisguisePage.DeptColors[self.deptIndex][1] * 0.7, DisguisePage.DeptColors[self.deptIndex][2] * 0.7, 1), barColor=(DisguisePage.DeptColors[self.deptIndex][0], DisguisePage.DeptColors[self.deptIndex][1], DisguisePage.DeptColors[self.deptIndex][2], 1), text='0/0 ' + TTLocalizer.RewardPanelMeritBarLabels[self.deptIndex], text_scale=TTLocalizer.RPmeritBarLabels, text_fg=(0, 0, 0, 1), text_align=TextNode.ALeft, text_pos=(-0.96, -0.05)) self.reparentTo(cogMenu)
def generate(self): DistributedInteractive.DistributedInteractive.generate(self) NodePath.__init__(self, 'DistributedFishingSpot') self.setInteractOptions(proximityText=PLocalizer.InteractFishingSpot, sphereScale=8, diskRadius=8) self.setAllowInteract(True)
def __init__( self, name='camera', pos=Vec3( 0, 0, 0 ), targetPos=Vec3( 0, 0, 0 ), style=CAM_DEFAULT_STYLE ): self.zoomLevel = 2 self.defaultPos = pos self.style = style # Use Panda's default camera if self.style & CAM_USE_DEFAULT: self.cam = getBase().cam #self.camNode = getBase().camNode # Otherwise create a new one else: # Create camera self.cam = NodePath( PCamera( name ) ) # Create lens lens = PerspectiveLens() lens.setAspectRatio( 800.0 / 300.0 ) self.cam.node().setLens( lens ) # Wrap the camera in this node path class NodePath.__init__( self, self.cam ) # Create camera styles if self.style & CAM_VIEWPORT_AXES: self.axes = self.Axes() self.axes.reparentTo( pixel2d ) # Create camera target self.target = self.Target( pos=targetPos ) self.Reset()
def __init__(self, description, needed, icon): NodePath.__init__(self, 'objective-%s' % id(self)) self.needed = needed self.visible = False self.fadeInTrack = None self.fadeOutTrack = None gui = loader.loadModel( 'phase_5/models/cogdominium/tt_m_gui_csa_flyThru') self.background = gui.find('**/*background').copyTo(self) self.background.setScale(2.5) gui.removeNode() self.icon = icon.copyTo(self.background) self.icon.setScale(0.08) self.icon.setPos(-0.167, 0, -0.002) text = TextNode('challenge') text.setText('Challenge') text.setFont(ToontownGlobals.getSignFont()) text.setTextColor(0.95, 0.95, 0, 1) self.objText = self.background.attachNewNode(text) self.objText.setScale(0.03) self.objText.setPos(-0.04, 0.0, 0.02) text = TextNode('description') text.setText(description) text.setFont(ToontownGlobals.getSignFont()) text.setTextColor(0.95, 0.95, 0, 1) text.setAlign(TextNode.ACenter) self.objText = self.background.attachNewNode(text) self.objText.setScale(0.015) self.objText.setPos(0.048, 0.0, -0.009) self.progressBar = DirectWaitBar(guiId='ChallengeProgressBar', parent=self.background, frameSize=(-0.11, 0.11, -0.007, 0.007), pos=(0.048, 0, -0.0338), text='') self.progressBar['range'] = needed self.progressText = DirectLabel( guiId='ChallengeProgressText', parent=self.progressBar, relief=None, pos=(0, 0, -0.0048), text='', textMayChange=1, text_scale=0.014, text_fg=(0.03, 0.83, 0, 1), text_align=TextNode.ACenter, text_font=ToontownGlobals.getSignFont()) self.updateProgress(0) self.reparentTo(base.a2dBottomLeft) self.stash()
def __init__(self, phone, doneEvent=None): NodePath.__init__(self, aspect2d.attachNewNode('CatalogGUI')) DirectObject.__init__(self) CatalogGlobals.CatalogNodePath.find('**/CATALOG_GUI_BKGD').copyTo(self) self.setScale(CatalogGlobals.CatalogBKGDScale) self.phone = phone self.doneEvent = doneEvent self.arrowButtons = {} self.createArrowButtons() self.currentTab = None self.tabButtons = {} self.createTabButtons() self.radioButtons = [] # self.createRadioButtons() self.activePage = 0 self.gifting = -1 guiItems = loader.loadModel('phase_5.5/models/gui/catalog_gui') hangupGui = guiItems.find('**/hangup') hangupRolloverGui = guiItems.find('**/hangup_rollover') self.hangup = DirectButton(self, relief=None, pos=(2.28, 0, -1.3), image=[hangupGui, hangupRolloverGui, hangupRolloverGui, hangupGui], text=['', TTLocalizer.CatalogHangUp, TTLocalizer.CatalogHangUp], text_fg=Vec4(1), text_scale=0.07, text_pos=(0.0, 0.14), command=self.hangUp) guiItems.removeNode()
def __init__(self, cr, proximityText): NodePath.__init__(self, self.__class__.__name__) DistributedInteractive.__init__(self, cr) self.holiday = '' self.interactRadius = 10 self.interactMode = 0 self.proximityText = proximityText
def __init__(self, trackGroup, ringModel, posScale, colorIndices): NodePath.__init__(self) self.assign(hidden.attachNewNode(\ base.localAvatar.uniqueName('ring-group'))) self.__period = trackGroup.period self.__reverseFlag = trackGroup.reverseFlag self.__tOffset = trackGroup.tOffset self.__numRings = len(trackGroup.tracks) self.__rings = [] self.__ringModels = [] for i in range(0,self.__numRings): track = trackGroup.tracks[i] tOffset = trackGroup.trackTOffsets[i] ring = Ring.Ring(track, tOffset, posScale) ring.reparentTo(self) model = ringModel.copyTo(ring) model.setColor(RingGameGlobals.ringColors[colorIndices[i]][1]) self.__rings.append(ring) self.__ringModels.append(model)
def __init__(self, width=1, depth=1, height=1, origin=Point3(0, 0, 0)): # Create vetex data format gvf = GeomVertexFormat.getV3n3() gvd = GeomVertexData("vertexData", gvf, Geom.UHStatic) # Create vetex writers for each type of data we are going to store gvwV = GeomVertexWriter(gvd, "vertex") gvwN = GeomVertexWriter(gvd, "normal") # Write out all points for p in GetPointsForBox(width, depth, height): gvwV.addData3f(Point3(p) - origin) # Write out all the normals for n in ((-1, 0, 0), (1, 0, 0), (0, -1, 0), (0, 1, 0), (0, 0, -1), (0, 0, 1)): for i in range(4): gvwN.addData3f(n) geom = Geom(gvd) for i in range(0, gvwV.getWriteRow(), 4): # Create and add both triangles geom.addPrimitive(GetGeomTriangle(i, i + 1, i + 2)) geom.addPrimitive(GetGeomTriangle(i, i + 2, i + 3)) # Init the node path, wrapping the box geomNode = GeomNode("box") geomNode.addGeom(geom) NodePath.__init__(self, geomNode)
def __init__(self, width=1, depth=1, height=1, thickness=1.0, origin=Point3(0, 0, 0)): def __Get3dPoint(pt, origin, axis): p = Point3(pt.x, pt.y, 0) - origin return RotatePoint3(p, Vec3(0, 0, 1), axis) # Create line segments self.ls = LineSegs() self.ls.setThickness(thickness) # axes = [Vec3(1, 0, 0), Vec3(0, 1, 0), Vec3(0, 0, 1), Vec3(1, 0, 0), Vec3(0, 1, 0), Vec3(0, 0, 1)] # origins = [origin, origin, origin, origin + Point3(0, 0, -1), origin + Point3(0, 0, -1), origin + Point3(0, 0, 1)] axes = [Vec3(1, 0, 0), Vec3(0, 1, 0), Vec3(-1, 0, 0), Vec3(0, -1, 0)] origins = [origin, origin, origin, origin] for m in range(len(axes)): # Get the points for square, append the first one to the end to # complete the square pts = GetPointsForSquare2(width, height) pts.append(pts[0]) for i in range(len(pts) - 1): # Get the distance a third of the way along the edge dist = (pts[i + 1] - pts[i]) / 3 # Draw one square self.ls.moveTo(__Get3dPoint(pts[i], origins[m], axes[m])) self.ls.drawTo(__Get3dPoint(pts[i] + dist, origins[m], axes[m])) self.ls.moveTo(__Get3dPoint(pts[i] + dist + dist, origins[m], axes[m])) self.ls.drawTo(__Get3dPoint(pts[i + 1], origins[m], axes[m])) # Init the node path, wrapping the lines node = self.ls.create() NodePath.__init__(self, node)
def __init__(self, fishManager, myData, index, trophy = 0): NodePath.__init__(self, '%s_%d' % (myData['name'], index)) self.trophy = trophy self.myData = myData if not self.trophy: self.fishManager = fishManager self.index = index self.fsm = FishFSM(self) self.weight = random.randint(self.myData['weightRange'][0], self.myData['weightRange'][1]) else: self.weight = trophy self.adjustedScale = (self.myData['scaleRange'][1] - self.myData['scaleRange'][0]) * (self.weight - self.myData['weightRange'][0]) / (self.myData['weightRange'][1] - self.myData['weightRange'][0]) + self.myData['scaleRange'][0] self.initActor() if not self.trophy: self.initVariables() self.initFishStatusIcon() if FishingGlobals.wantDebugCollisionVisuals: self.initCollisions() self.avoidingFish = False self.biteBubbleEffect = None self.idleBubbleEffect = None self.fightBubbleEffect = None self.behaviorNameToFunction = { 'straight': self.performStraightBehavior, 'sineStraight': self.performSineStraightBehavior, 'erratic': self.performErraticBehavior } self.sineDtAccumulator = 0.0 self.erraticDtAccumulator = 0.0 self.myZ = 0.0 if not self.trophy: self.setLightOff()
def __init__(self, cogMenu, dept): NodePath.__init__(self, 'CogMenuBar-%s' % dept) self.dept = dept self.deptIndex = CogDisguiseGlobals.dept2deptIndex(self.dept) icons = loader.loadModel('phase_3/models/gui/cog_icons') self.icon = icons.find(ICON_NODES[self.deptIndex]).copyTo(self) self.icon.setColor(ICON_COLORS[self.deptIndex]) self.icon.setScale(0.07) self.icon.setX(-0.25) icons.removeNode() self.progressBar = DirectWaitBar(parent=self, relief=DirectGuiGlobals.SUNKEN, frameSize=(-1, 1, -0.15, 0.15), borderWidth=(0.02, 0.02), scale=0.20, frameColor=(DisguisePage.DeptColors[self.deptIndex][0] * 0.7, DisguisePage.DeptColors[self.deptIndex][1] * 0.7, DisguisePage.DeptColors[self.deptIndex][2] * 0.7, 1), barColor=(DisguisePage.DeptColors[self.deptIndex][0], DisguisePage.DeptColors[self.deptIndex][1], DisguisePage.DeptColors[self.deptIndex][2], 1), text='0/0 ' + TTLocalizer.RewardPanelMeritBarLabels[self.deptIndex], text_scale=TTLocalizer.RPmeritBarLabels, text_fg=(0, 0, 0, 1), text_align=TextNode.ALeft, text_pos=(-0.96, -0.05)) self.reparentTo(cogMenu)
def __init__(self, moveTrack, tOffset, posScale=1.0): NodePath.__init__(self) self.assign(hidden.attachNewNode(base.localAvatar.uniqueName('ring'))) self.setMoveTrack(moveTrack) self.setTOffset(tOffset) self.setPosScale(posScale) self.setT(0.0)
def __init__(self, cr, proximityText): NodePath.__init__(self, self.__class__.__name__) DistributedInteractive.__init__(self, cr) self.holiday = "" self.interactRadius = 10 self.interactMode = 0 self.proximityText = proximityText
def __init__(self, name, parent, nailModel): self.config = RepairGlobals.Hammering NodePath.__init__(self, name) FSM.FSM.__init__(self, 'Nail_%sFSM' % name) self.reparentTo(parent) self.nailModel = nailModel self._initVars() self._initVisuals()
def __init__(self, name, size, body_tex=None, leaf_tex=None): NodePath.__init__(self, name) self.name = name self.size = size self.body_tex = body_tex self.leaf_tex = leaf_tex self.make() self.flattenStrong()
def __init__(self,table=None,mask=None): """ @keyword table: filename of a table texture. See table_template.psd. Either paint anywhere inside the mask for a complete background or turn off the pads and spinner and paint in the table circle for just a table texture that will have spinners and pads put on top of it. @type mask: str @keyword mask: filename of a mask texture of the non-Jam-o-Drum area. probably jod_mask.png that comes with the Jam-o-Drum library. @type mask: str """ NodePath.__init__(self,"JamoDrum") totalHeight = max(1.0,math.sqrt(2)/4.0+SPINNER_RADIUS)*2 cm = CardMaker("card") cm.setFrame(-1,1,-1,1) self.tableCard = self.attachNewNode(cm.generate()) self.tableCard.setP(-90) self.tableCard.setScale(4.0/3.0) self.tableCard.setLightOff() self.tableCard.setBin("background",0) self.tableCard.setDepthTest(0) self.tableCard.setDepthWrite(0) self.tableCard.hide() if (table): self.setTableTexture(loader.loadTexture(table)) if (mask): cm = CardMaker("JOD Mask") cm.setFrame(-4.0/3.0,4.0/3.0,-4.0/3.0,4.0/3.0) self.mask = aspect2d.attachNewNode(cm.generate()) #self.mask.setP(-90) self.mask.setTexture(loader.loadTexture(mask),1) self.mask.setTransparency(1) self.mask.setDepthTest(0) else: self.mask = None self.stations = [] for i in range(4): station = Station(self,i) station.reparentTo(self) self.stations.append(station) self.reparentTo(render) base.disableMouse() self.lens = OrthographicLens() self.lens.setFilmSize(totalHeight*base.getAspectRatio(),totalHeight) base.cam.node().setLens(self.lens) camera.setPosHpr(0,0,10.0, 0,-90,0) base.setBackgroundColor(0,0,0) self.audio3d = Audio3DManager(base.sfxManagerList[0],self) self.audio3d.setDropOffFactor(0)
def __init__(self, gameObject, type): NodePath.__init__(self, 'FishingLure_%s' % type) self.gameObject = gameObject self.type = type self.initLureModel() if FishingGlobals.wantDebugCollisionVisuals: self.initCollision() self.initLureHelpText() self.setLightOff()
def __init__(self, table=None, mask=None): """ @keyword table: filename of a table texture. See table_template.psd. Either paint anywhere inside the mask for a complete background or turn off the pads and spinner and paint in the table circle for just a table texture that will have spinners and pads put on top of it. @type mask: str @keyword mask: filename of a mask texture of the non-Jam-o-Drum area. probably jod_mask.png that comes with the Jam-o-Drum library. @type mask: str """ NodePath.__init__(self, "JamoDrum") totalHeight = max(1.0, math.sqrt(2) / 4.0 + SPINNER_RADIUS) * 2 cm = CardMaker("card") cm.setFrame(-1, 1, -1, 1) self.tableCard = self.attachNewNode(cm.generate()) self.tableCard.setP(-90) self.tableCard.setScale(4.0 / 3.0) self.tableCard.setLightOff() self.tableCard.setBin("background", 0) self.tableCard.setDepthTest(0) self.tableCard.setDepthWrite(0) self.tableCard.hide() if (table): self.setTableTexture(loader.loadTexture(table)) if (mask): cm = CardMaker("JOD Mask") cm.setFrame(-4.0 / 3.0, 4.0 / 3.0, -4.0 / 3.0, 4.0 / 3.0) self.mask = aspect2d.attachNewNode(cm.generate()) #self.mask.setP(-90) self.mask.setTexture(loader.loadTexture(mask), 1) self.mask.setTransparency(1) self.mask.setDepthTest(0) else: self.mask = None self.stations = [] for i in range(4): station = Station(self, i) station.reparentTo(self) self.stations.append(station) self.reparentTo(render) base.disableMouse() self.lens = OrthographicLens() self.lens.setFilmSize(totalHeight * base.getAspectRatio(), totalHeight) base.cam.node().setLens(self.lens) camera.setPosHpr(0, 0, 10.0, 0, -90, 0) base.setBackgroundColor(0, 0, 0) self.audio3d = Audio3DManager(base.sfxManagerList[0], self) self.audio3d.setDropOffFactor(0)
def __init__(self, config, world): NodePath.__init__(self, 'ForestNode') self.config = config self.world = world self.added = [] self.trees = {} self.trees_in_node = 10 self.mutex = self.world.mutex_repaint self.flatten_node = NodePath('flatten_nodes')
def __init__(self, parent, category, pageNum): NodePath.__init__(self, parent.attachNewNode(category)) self.parent = parent self.pageNum = pageNum self.category = category self.catalogItems = [] self.itemFrames = [] self.textNode = None
def __init__(self, serialNum, model): NodePath.__init__(self, 'CogdoMazeWaterCooler-%i' % serialNum) self.serialNum = serialNum self._model = model self._model.reparentTo(self) self._model.setPosHpr(0, 0, 0, 0, 0, 0) self._initCollisions() self._initArrow() self._update = None self.__startUpdateTask()
def __init__(self, gameObject, type): NodePath.__init__(self, "FishingLure_%s" % type) self.gameObject = gameObject self.type = type self.initLureModel() if FishingGlobals.wantDebugCollisionVisuals: self.initCollision() self.initLureHelpText() self.setLightOff()
def __init__(self, parent, nodeName, clickEvent): NodePath.__init__(self, parent.attachNewNode(nodeName)) self.clickEvent = clickEvent self.normalNode = CatalogGlobals.CatalogNodePath.find('**/arrow_UP_'+nodeName).copyTo(self) self.clickedNode = CatalogGlobals.CatalogNodePath.find('**/arrow_DN_'+nodeName).copyTo(self) self.hoverNode = CatalogGlobals.CatalogNodePath.find('**/arrow_OVR_'+nodeName).copyTo(self) self.arrowButton = DirectButton(parent=self, relief=None, image=(self.normalNode, self.clickedNode, self.hoverNode), command=self.clickEvent)
def __init__(self, start, end, thickness=1.0): # Create line segments ls = LineSegs() ls.setThickness(thickness) ls.drawTo(Point3(start)) ls.drawTo(Point3(end)) # Init the node path, wrapping the lines NodePath.__init__(self, ls.create())
def __init__(self, air, name=None): # Be careful not to create multiple NodePath objects try: self.DistributedNodeAI_initialized except: self.DistributedNodeAI_initialized = 1 DistributedObjectAI.DistributedObjectAI.__init__(self, air) if name is None: name = self.__class__.__name__ NodePath.__init__(self, name) self.gridParent = None
def __init__(self, position, ID=-1): NodePath.__init__(self, "Waypoint " + str(ID)) self.setPos(render, position) self.texture = loader.loadTexture("textures/blue.jpg") self.costToThisNode = 0 self.visited = False self.neighbors = [] self.ID = ID self.previousWaypoint = None torusModel = "models/Torus/Torus.egg" self.torus = loader.loadModel(torusModel)
def __init__(self): NodePath.__init__(self, 'CogMenu') self.sellbotBar = CogMenuBar(self, 's') self.cashbotBar = CogMenuBar(self, 'm') self.lawbotBar = CogMenuBar(self, 'l') self.bossbotBar = CogMenuBar(self, 'c') self.sellbotBar.setX(-0.502) self.lawbotBar.setX(0.502) self.bossbotBar.setX(1)
def __init__(self, parent, pos = None, scale = None): NodePath.__init__(self, 'DinerStatusIndicator') if parent: self.reparentTo(parent) if pos: self.setPos(pos) if scale: self.setScale(scale) self.loadAssets() FSM.FSM.__init__(self, 'DinerStatusIndicator') self.activeIval = None
def __init__(self, position, ID = -1): NodePath.__init__(self, "Waypoint " + str(ID)) self.setPos(render, position) self.texture = loader.loadTexture("textures/blue.jpg") self.costToThisNode = 0 self.visited = False self.neighbors = [] self.ID = ID self.previousWaypoint = None torusModel = "models/Torus/Torus.egg" self.torus = loader.loadModel(torusModel)
def __init__(self, serialNum, model): NodePath.__init__(self, 'CogdoMazeWaterCooler-%i' % serialNum) self.serialNum = serialNum self._model = model self._model.reparentTo(self) self._model.setPosHpr(0, 0, 0, 0, 0, 0) self._initCollisions() self._initArrow() self._update = None self.__startUpdateTask() return
def __init__(self, phone, doneEvent=None): NodePath.__init__(self, aspect2d.attachNewNode('CatalogGUI')) DirectObject.__init__(self) CatalogGlobals.CatalogNodePath.find('**/CATALOG_GUI_BKGD').copyTo(self) self.setScale(CatalogGlobals.CatalogBKGDScale) self.phone = phone self.doneEvent = doneEvent self.arrowButtons = {} self.createArrowButtons() self.currentTab = None self.tabButtons = {} self.createTabButtons() self.radioButtons = [] # self.createRadioButtons() self.activePage = 0 self.gifting = -1 guiItems = loader.loadModel('phase_5.5/models/gui/catalog_gui') hangupGui = guiItems.find('**/hangup') hangupRolloverGui = guiItems.find('**/hangup_rollover') self.hangup = DirectButton( self, relief=None, pos=(2.28, 0, -1.3), image=[hangupGui, hangupRolloverGui, hangupRolloverGui, hangupGui], text=['', TTLocalizer.CatalogHangUp, TTLocalizer.CatalogHangUp], text_fg=Vec4(1), text_scale=0.07, text_pos=(0.0, 0.14), command=self.hangUp) guiItems.removeNode() jarGui = loader.loadModel('phase_3.5/models/gui/jar_gui') self.moneyDisplay = DirectLabel( parent=self, relief=None, pos=(2.28, 0, -0.9), scale=0.8, text=str(base.localAvatar.getMoney()), text_scale=0.18, text_fg=(0.95, 0.95, 0, 1), text_shadow=(0, 0, 0, 1), text_pos=(0, -0.1, 0), image=jarGui.find('**/Jar'), text_font=ToontownGlobals.getSignFont()) jarGui.removeNode() return
def __init__(self, x, y, z, moleField, index): NodePath.__init__(self, 'MoleHill-%d' % index) self.moleField = moleField self.index = index self.loadModel() self.setPos(x, y, z) self.schedule = [] self.popIval = None self.downIval = None self.popupNum = 0 self.hillType = None self.isUp = 0
def __init__(self, parent, pos = None, scale = None): NodePath.__init__(self, 'DinerStatusIndicator') if parent: self.reparentTo(parent) if pos: self.setPos(pos) if scale: self.setScale(scale) self.loadAssets() FSM.FSM.__init__(self, 'DinerStatusIndicator') self.activeIval = None return
def __init__(self, air, name = None): try: self.DistributedNodeAI_initialized except: self.DistributedNodeAI_initialized = 1 DistributedObjectAI.DistributedObjectAI.__init__(self, air) if name is None: name = self.__class__.__name__ NodePath.__init__(self, name) self.gridParent = None return
def __init__(self, cr): try: self.DistributedNode_initialized except: self.DistributedNode_initialized = 1 self.gotStringParentToken = 0 DistributedObject.DistributedObject.__init__(self, cr) if not self.this: NodePath.__init__(self, "DistributedNode") # initialize gridParent self.gridParent = None
def __init__(self, cr): try: self.DistributedNode_initialized except: self.DistributedNode_initialized = 1 self.gotStringParentToken = 0 DistributedObject.DistributedObject.__init__(self, cr) if not self.this: NodePath.__init__(self, 'DistributedNode') self.gridParent = None return
def __init__(self, air, name=None): try: self.DistributedNodeAI_initialized except: self.DistributedNodeAI_initialized = 1 DistributedObjectAI.DistributedObjectAI.__init__(self, air) if name is None: name = self.__class__.__name__ NodePath.__init__(self, name) self.gridParent = None return
def __init__( self, name, vector, colour, planar=False, default=False ): NodePath.__init__( self, name ) self.name = name self.vector = vector self.colour = colour self.planar = planar self.default = default self.highlited = False self.selected = False self.size = 1 self.geoms = [] self.collNodes = [] self.collNodePaths = []
def __init__(self, x, y, z, moleField, index): """Construct the mole hill.""" NodePath.__init__(self, 'MoleHill-%d' % index) self.moleField = moleField self.index = index self.loadModel() self.setPos(x, y, z) self.schedule = [] self.popIval = None self.downIval = None self.popupNum = 0 # how many times has this hill popped up self.hillType = None self.isUp = 0
def __init__(self, catalogGui, nodeName, clickEvent): NodePath.__init__(self, catalogGui.attachNewNode(nodeName)) self.active = False self.activePage = 0 self.catalogGui = catalogGui self.catalogItemPages = [] self.otherTabs = [] self.clickEvent = clickEvent self.clickedNode = CatalogGlobals.CatalogNodePath.find('**/'+nodeName+'_DN').copyTo(self) self.hoverNode = CatalogGlobals.CatalogNodePath.find('**/'+nodeName+'_OVR').copyTo(self) self.tabButton = DirectButton(parent=self, relief=None, image=(self.clickedNode, self.clickedNode, self.hoverNode), command=self.tabClicked)
def __init__(self, parent, nodeName, clickEvent): NodePath.__init__(self, parent.attachNewNode(nodeName)) self.radioButtons = [] self.clickEvent = clickEvent self.normalNode = CatalogGlobals.CatalogNodePath.find('**/'+nodeName+'_UP').copyTo(self) self.clickedNode = CatalogGlobals.CatalogNodePath.find('**/'+nodeName+'_DN').copyTo(self) self.hoverNode = CatalogGlobals.CatalogNodePath.find('**/'+nodeName+'_OVR').copyTo(self) self.statusIndicator = CatalogGlobals.CatalogNodePath.find('**/'+nodeName+'Radio_ON').copyTo(self) self.statusIndicator.hide() self.radioButton = DirectButton(parent=self, relief=None, image=(self.normalNode, self.clickedNode, self.hoverNode), command=self.enable)
def __init__(self, radius=1.0, height=1.0, numSegs=16, degrees=360, axis=Vec3(0, 0, 1), origin=Point3(0, 0, 0)): # Create vetex data format gvf = GeomVertexFormat.getV3n3() gvd = GeomVertexData("vertexData", gvf, Geom.UHStatic) # Create vetex writers for each type of data we are going to store gvwV = GeomVertexWriter(gvd, "vertex") gvwN = GeomVertexWriter(gvd, "normal") # Get the points for an arc points = GetPointsForArc(degrees, numSegs, True) for i in range(len(points) - 1): # Rotate the points around the desired axis p1 = Point3(points[i][0], points[i][1], 0) * radius p1 = RotatePoint3(p1, Vec3(0, 0, 1), axis) - origin p2 = Point3(points[i + 1][0], points[i + 1][1], 0) * radius p2 = RotatePoint3(p2, Vec3(0, 0, 1), axis) - origin cross = (p2 - axis).cross(p1 - axis) cross.normalize() gvwV.addData3f(p1) gvwV.addData3f(axis * height - origin) gvwV.addData3f(p2) gvwN.addData3f(cross) gvwN.addData3f(cross) gvwN.addData3f(cross) # Base gvwV.addData3f(p2) gvwV.addData3f(Point3(0, 0, 0) - origin) gvwV.addData3f(p1) gvwN.addData3f(-axis) gvwN.addData3f(-axis) gvwN.addData3f(-axis) geom = Geom(gvd) for i in range(0, gvwV.getWriteRow(), 3): # Create and add triangle geom.addPrimitive(GetGeomTriangle(i, i + 1, i + 2)) # Init the node path, wrapping the box geomNode = GeomNode("cone") geomNode.addGeom(geom) NodePath.__init__(self, geomNode)
def __init__( self, name, *args, **kwargs ): NodePath.__init__( self, name ) p3d.SingleTask.__init__( self, name, *args, **kwargs ) self.attachedNps = [] self.dragging = False self.local = True self.planar = False self.size = 1 self.axes = [] # Set this node up to be drawn over everything else self.setBin( 'fixed', 40 ) self.setDepthTest( False ) self.setDepthWrite( False )