def destroy(self): for (currDoLater, ival) in self.flashCleanupTasks.values(): taskMgr.remove(currDoLater) ival.finish() self.flashCleanupTasks = {} self.cleanupEffects() self.removeCollisions() taskMgr.remove('drawRadarTask') GuiTray.destroy(self) self.guiTop.removeNode() del self.mapRoot del self.mapScale del self.guiTop del self.objTop del self.background del self.frame del self.dial self.relNode.removeNode() del self.relNode del self.modelDict del self.zoomInButton del self.zoomOutButton del self.minimapButton self.zoomFSM.destroy() del self.zoomFSM self.locationLabel.destroy() del self.av
def destroy(self): for (currDoLater, ival) in self.flashCleanupTasks.values(): taskMgr.remove(currDoLater) ival.finish() self.flashCleanupTasks = { } self.cleanupEffects() self.removeCollisions() taskMgr.remove('drawRadarTask') GuiTray.destroy(self) self.guiTop.removeNode() del self.mapRoot del self.mapScale del self.guiTop del self.objTop del self.background del self.frame del self.dial self.relNode.removeNode() del self.relNode del self.modelDict del self.zoomInButton del self.zoomOutButton del self.minimapButton self.zoomFSM.destroy() del self.zoomFSM self.locationLabel.destroy() del self.av
def __init__(self, parent, **kw): optiondefs = (('relief', None, None),) self.defineoptions(kw, optiondefs) GuiTray.__init__(self, parent, 0.5, 0.5) damageModel = loader.loadModel('models/gui/ship_damage') tex = damageModel.find('**/background*') self.damageGUI = DirectFrame(parent = self, pos = (0.0, 0.0, 0.0), relief = None, image = tex, image_scale = 0.059999999999999998, sortOrder = 2) plane = Plane(Vec4(0, 0, 1, 0)) pnl = PlaneNode('hpClipLeft') pnr = PlaneNode('hpClipRight') pnb = PlaneNode('hpClipBottom') pnl.setPlane(plane) pnr.setPlane(plane) pnb.setPlane(plane) self.clipLeft = NodePath(pnl) self.clipRight = NodePath(pnr) self.clipBottom = NodePath(pnb) tex = damageModel.find('**/hp_bar_left*') self.hpLeft = DirectFrame(parent = self.damageGUI, relief = None, image = tex, image_scale = 0.059999999999999998, image_color = (0.10000000000000001, 0.80000000000000004, 0.10000000000000001, 0.80000000000000004)) self.clipLeft.reparentTo(self.damageGUI) self.clipLeft.setHpr(0, 0, -49) self.hpLeft.setClipPlane(self.clipLeft) tex = damageModel.find('**/hp_bar_right*') self.hpRight = DirectFrame(parent = self.damageGUI, relief = None, image = tex, image_scale = 0.059999999999999998, image_color = (0.10000000000000001, 0.80000000000000004, 0.10000000000000001, 0.80000000000000004)) self.clipRight.reparentTo(self.damageGUI) self.clipRight.setHpr(0, 0, 49) self.hpRight.setClipPlane(self.clipRight) tex = damageModel.find('**/hp_bar_bottom') self.hpRear = DirectFrame(parent = self.damageGUI, relief = None, image = tex, image_scale = 0.059999999999999998, image_color = (0.10000000000000001, 0.80000000000000004, 0.10000000000000001, 0.80000000000000004)) self.clipBottom.reparentTo(self.damageGUI) self.clipBottom.setHpr(0, 0, 109) self.hpRear.setClipPlane(self.clipBottom)
def __init__(self, parent, **kw): optiondefs = (('relief', None, None), ) self.defineoptions(kw, optiondefs) GuiTray.__init__(self, parent, 0.5, 0.5) damageModel = loader.loadModel('models/gui/ship_damage') tex = damageModel.find('**/background*') self.damageGUI = DirectFrame(parent=self, pos=(0.0, 0.0, 0.0), relief=None, image=tex, image_scale=0.059999999999999998, sortOrder=2) plane = Plane(Vec4(0, 0, 1, 0)) pnl = PlaneNode('hpClipLeft') pnr = PlaneNode('hpClipRight') pnb = PlaneNode('hpClipBottom') pnl.setPlane(plane) pnr.setPlane(plane) pnb.setPlane(plane) self.clipLeft = NodePath(pnl) self.clipRight = NodePath(pnr) self.clipBottom = NodePath(pnb) tex = damageModel.find('**/hp_bar_left*') self.hpLeft = DirectFrame( parent=self.damageGUI, relief=None, image=tex, image_scale=0.059999999999999998, image_color=(0.10000000000000001, 0.80000000000000004, 0.10000000000000001, 0.80000000000000004)) self.clipLeft.reparentTo(self.damageGUI) self.clipLeft.setHpr(0, 0, -49) self.hpLeft.setClipPlane(self.clipLeft) tex = damageModel.find('**/hp_bar_right*') self.hpRight = DirectFrame( parent=self.damageGUI, relief=None, image=tex, image_scale=0.059999999999999998, image_color=(0.10000000000000001, 0.80000000000000004, 0.10000000000000001, 0.80000000000000004)) self.clipRight.reparentTo(self.damageGUI) self.clipRight.setHpr(0, 0, 49) self.hpRight.setClipPlane(self.clipRight) tex = damageModel.find('**/hp_bar_bottom') self.hpRear = DirectFrame( parent=self.damageGUI, relief=None, image=tex, image_scale=0.059999999999999998, image_color=(0.10000000000000001, 0.80000000000000004, 0.10000000000000001, 0.80000000000000004)) self.clipBottom.reparentTo(self.damageGUI) self.clipBottom.setHpr(0, 0, 109) self.hpRear.setClipPlane(self.clipBottom)
def __init__(self, parent, av, radius=200.0, **kw): GuiTray.__init__(self, parent, 0.40000000000000002, 0.40000000000000002, **None) FSM.__init__(self, 'RadarGui') self.initialiseoptions(RadarGui) self.av = av self.radius = radius self.battleAvatarTubeRadius = 2.0 self.demoTunnel = None self.demoQuest = None self.demoNpc = {} guiScale = 0.14999999999999999 self.rWidth = (self.width - 0.10000000000000001) / guiScale self.rHeight = (self.height - 0.10000000000000001) / guiScale self._RadarGui__normalizeWithRadius() self.camToAvAngle = 0.0 self.relNode = render.attachNewNode('radarGuiRelNode') self.model = loader.loadModel('models/gui/compass_main') self.guiTop = self.attachNewNode('compassGuiTop') self.guiTop.setScale(guiScale) self.guiTop.setPos(self._RadarGui__dX, 0, self._RadarGui__dZ) self.background = self.model.find('**/background') self.background.setColorScale(1, 1, 1, 0.59999999999999998) self.mapRoot = self.background.attachNewNode('minimap-root') self.mapRoot.setScissor(Point3(-1, 1, 0), Point3(1, -1, 0)) self.mapRoot.setP(90) self.mapRoot.setAlphaScale(1, 1) self.mapScale = self.mapRoot.attachNewNode('minimap-scale') self.minimapSentry = None self.frame = self.model.find('**/frame') self.frame.flattenStrong() self.avArrow = loader.loadModel('models/gui/toplevel_gui').find( '**/generic_arrow') self.avArrow.setScale(2) self.avArrow.setR(90) self.dial = self.model.find('**/dial') self.dial.flattenStrong() self.ring = loader.loadModel('models/gui/gui_main').find( '**/compass_radar_in') self.ring.hide() self.ringIval = None self.north = loader.loadModel('models/gui/compass_north') self.north.setScale(0.75) self.north.setZ(1) self.north.reparentTo(self.dial) self.arrow = loader.loadModel('models/gui/compass_arrow') self.arrow.getChild(0).getChild(0).setHpr(90, 0, 90) self.arrow.getChild(0).getChild(0).setY(0.20000000000000001) objectiveGrey = self.model.find('**/icon_objective_grey') objectiveGrey.copyTo(self.arrow) objectiveGrey.setScale(0.5) self.arrow.find('**/icon_objective_grey').setScale(0.80000000000000004) self.rectangle = NodePath('rectangle') rectangleGeom = self.model.find('**/icon_rectangle_hollow') rectangleGeom.setHpr(90, 0, 0) rectangleGeom.reparentTo(self.rectangle) self.background.reparentTo(self.guiTop) self.frame.reparentTo(self.guiTop) self.ring.reparentTo(self.guiTop) self.dial.reparentTo(self.guiTop) self.edge = self.guiTop.attachNewNode('edge') self.objTop = self.guiTop.attachNewNode('compassObjTop') self.zoomInButton = DirectButton( parent=self, relief=None, scale=0.20000000000000001, pos=(0.25, 0, 0.25), image=(self.model.find('**/zoomin_button'), self.model.find('**/zoomin_button'), self.model.find('**/zoomin_button_over')), command=self.zoomIn) self.zoomOutButton = DirectButton( parent=self, relief=None, scale=0.20000000000000001, pos=(0.25, 0, 0.25), image=(self.model.find('**/zoomout_button'), self.model.find('**/zoomout_button'), self.model.find('**/zoomout_button_over')), command=self.zoomOut) self.zoomInButton.flattenStrong() self.zoomOutButton.flattenStrong() guiMain = loader.loadModel('models/gui/gui_main') self.minimapButton = DirectButton( parent=self, relief=None, scale=0.25, pos=(0.11, 0, 0.28999999999999998), image=(guiMain.find('**/minimap_button'), guiMain.find('**/minimap_button'), guiMain.find('**/minimap_button_over')), command=self.handleMinimapButton) self.minimapButton.hide() self.modelDict = { RADAR_OBJ_TYPE_DEFAULT: [self.model.find('**/icon_sphere'), None], RADAR_OBJ_TYPE_LANDMARK: [ self.model.find('**/icon_square'), self.model.find('**/icon_square_hollow') ], RADAR_OBJ_TYPE_QUEST: [self.model.find('**/icon_objective_grey'), self.arrow], RADAR_OBJ_TYPE_SHIP: [self.model.find('**/icon_ship'), None], RADAR_OBJ_TYPE_EXIT: [self.rectangle, self.rectangle] } self._RadarGui__radarObjects = {} self._RadarGui__cachedRadarObjects = {} self.collSphereNodePath = None self.setupCollisions() self.detachNode() self.enterSphereEvent = 'enterradarSphere' self.exitSphereEvent = 'exitradarSphere' self.zoomFSM = RadarZoomFSM(self) self.effectIvals = [] self.locationLabel = DirectLabel( parent=self, relief=None, text='', text_font=PiratesGlobals.getPirateOutlineFont(), text_fg=(1.0, 1.0, 1.0, 1.0), text_shadow=(0, 0, 0, 1), text_scale=0.040000000000000001, text_pos=(0.20000000000000001, -0.025000000000000001), text_wordwrap=7) self.locationLabel.hide() self.flashCleanupTasks = {} self.minimapObjects = [] self.toggle()
def __init__(self, parent, av, radius = 200.0, **kw): GuiTray.__init__(self, parent, 0.40000000000000002, 0.40000000000000002) FSM.__init__(self, 'RadarGui') self.initialiseoptions(RadarGui) self.av = av self.radius = radius self.battleAvatarTubeRadius = 2.0 self.demoTunnel = None self.demoQuest = None self.demoNpc = { } guiScale = 0.14999999999999999 self.rWidth = (self.width - 0.10000000000000001) / guiScale self.rHeight = (self.height - 0.10000000000000001) / guiScale self._RadarGui__normalizeWithRadius() self.camToAvAngle = 0.0 self.relNode = render.attachNewNode('radarGuiRelNode') self.model = loader.loadModel('models/gui/compass_main') self.guiTop = self.attachNewNode('compassGuiTop') self.guiTop.setScale(guiScale) self.guiTop.setPos(self._RadarGui__dX, 0, self._RadarGui__dZ) self.background = self.model.find('**/background') self.background.setColorScale(1, 1, 1, 0.59999999999999998) self.mapRoot = self.background.attachNewNode('minimap-root') self.mapRoot.setScissor(Point3(-1, 1, 0), Point3(1, -1, 0)) self.mapRoot.setP(90) self.mapRoot.setAlphaScale(1, 1) self.mapScale = self.mapRoot.attachNewNode('minimap-scale') self.minimapSentry = None self.frame = self.model.find('**/frame') self.frame.flattenStrong() self.avArrow = loader.loadModel('models/gui/toplevel_gui').find('**/generic_arrow') self.avArrow.setScale(2) self.avArrow.setR(90) self.dial = self.model.find('**/dial') self.dial.flattenStrong() self.ring = loader.loadModel('models/gui/gui_main').find('**/compass_radar_in') self.ring.hide() self.ringIval = None self.north = loader.loadModel('models/gui/compass_north') self.north.setScale(0.75) self.north.setZ(1) self.north.reparentTo(self.dial) self.arrow = loader.loadModel('models/gui/compass_arrow') self.arrow.getChild(0).getChild(0).setHpr(90, 0, 90) self.arrow.getChild(0).getChild(0).setY(0.20000000000000001) objectiveGrey = self.model.find('**/icon_objective_grey') objectiveGrey.copyTo(self.arrow) objectiveGrey.setScale(0.5) self.arrow.find('**/icon_objective_grey').setScale(0.80000000000000004) self.rectangle = NodePath('rectangle') rectangleGeom = self.model.find('**/icon_rectangle_hollow') rectangleGeom.setHpr(90, 0, 0) rectangleGeom.reparentTo(self.rectangle) self.background.reparentTo(self.guiTop) self.frame.reparentTo(self.guiTop) self.ring.reparentTo(self.guiTop) self.dial.reparentTo(self.guiTop) self.edge = self.guiTop.attachNewNode('edge') self.objTop = self.guiTop.attachNewNode('compassObjTop') self.zoomInButton = DirectButton(parent = self, relief = None, scale = 0.20000000000000001, pos = (0.25, 0, 0.25), image = (self.model.find('**/zoomin_button'), self.model.find('**/zoomin_button'), self.model.find('**/zoomin_button_over')), command = self.zoomIn) self.zoomOutButton = DirectButton(parent = self, relief = None, scale = 0.20000000000000001, pos = (0.25, 0, 0.25), image = (self.model.find('**/zoomout_button'), self.model.find('**/zoomout_button'), self.model.find('**/zoomout_button_over')), command = self.zoomOut) self.zoomInButton.flattenStrong() self.zoomOutButton.flattenStrong() guiMain = loader.loadModel('models/gui/gui_main') self.minimapButton = DirectButton(parent = self, relief = None, scale = 0.25, pos = (0.11, 0, 0.28999999999999998), image = (guiMain.find('**/minimap_button'), guiMain.find('**/minimap_button'), guiMain.find('**/minimap_button_over')), command = self.handleMinimapButton) self.minimapButton.hide() self.modelDict = { RADAR_OBJ_TYPE_DEFAULT: [ self.model.find('**/icon_sphere'), None], RADAR_OBJ_TYPE_LANDMARK: [ self.model.find('**/icon_square'), self.model.find('**/icon_square_hollow')], RADAR_OBJ_TYPE_QUEST: [ self.model.find('**/icon_objective_grey'), self.arrow], RADAR_OBJ_TYPE_SHIP: [ self.model.find('**/icon_ship'), None], RADAR_OBJ_TYPE_EXIT: [ self.rectangle, self.rectangle] } self._RadarGui__radarObjects = { } self._RadarGui__cachedRadarObjects = { } self.collSphereNodePath = None self.setupCollisions() self.detachNode() self.enterSphereEvent = 'enterradarSphere' self.exitSphereEvent = 'exitradarSphere' self.zoomFSM = RadarZoomFSM(self) self.effectIvals = [] self.locationLabel = DirectLabel(parent = self, relief = None, text = '', text_font = PiratesGlobals.getPirateOutlineFont(), text_fg = (1.0, 1.0, 1.0, 1.0), text_shadow = (0, 0, 0, 1), text_scale = 0.040000000000000001, text_pos = (0.20000000000000001, -0.025000000000000001), text_wordwrap = 7) self.locationLabel.hide() self.flashCleanupTasks = { } self.minimapObjects = [] self.toggle()