Esempio n. 1
0
    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)
Esempio n. 4
0
 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)
Esempio n. 5
0
 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()