Ejemplo n.º 1
0
 def generateRandomTank(self):
     import random
     numFish = random.randint(1, 20)
     self.fishList = []
     for i in xrange(numFish):
         genus, species = FishGlobals.getRandomFish()
         weight = FishGlobals.getRandomWeight(genus, species)
         fish = FishBase.FishBase(genus, species, weight)
         self.addFish(fish)
Ejemplo n.º 2
0
 def generateRandomTank(self):
     import random
     numFish = random.randint(1, 20)
     self.fishList = []
     for i in range(numFish):
         genus, species = FishGlobals.getRandomFish()
         weight = FishGlobals.getRandomWeight(genus, species)
         fish = FishBase.FishBase(genus, species, weight)
         self.addFish(fish)
Ejemplo n.º 3
0
 def __init__(self, parent=aspect2d, **kw):
     self._parent = parent
     gui = loader.loadModel('phase_3.5/models/gui/friendslist_gui')
     optiondefs = (('parent', self._parent, None), ('relief', None, None),
                   ('incButton_image',
                    (gui.find('**/FndsLst_ScrollUp'),
                     gui.find('**/FndsLst_ScrollDN'),
                     gui.find('**/FndsLst_ScrollUp_Rllvr'),
                     gui.find('**/FndsLst_ScrollUp')), None),
                   ('incButton_relief', None,
                    None), ('incButton_scale', (1.3, 1.3, -1.3),
                            None), ('incButton_pos', (0, 0, -0.525), None),
                   ('incButton_image3_color', Vec4(0.8, 0.8, 0.8, 0.5),
                    None), ('decButton_image',
                            (gui.find('**/FndsLst_ScrollUp'),
                             gui.find('**/FndsLst_ScrollDN'),
                             gui.find('**/FndsLst_ScrollUp_Rllvr'),
                             gui.find('**/FndsLst_ScrollUp')), None),
                   ('decButton_relief', None,
                    None), ('decButton_scale', (1.3, 1.3, 1.3),
                            None), ('decButton_pos', (0, 0, 0.525), None),
                   ('decButton_image3_color', Vec4(0.8, 0.8, 0.8, 0.5),
                    None), ('numItemsVisible', 1,
                            None), ('items',
                                    map(str, FishGlobals.getGenera()),
                                    None), ('scrollSpeed', 4, None),
                   ('itemMakeFunction', GenusPanel.GenusPanel,
                    None), ('itemMakeExtraArgs', None, None))
     gui.removeNode()
     self.defineoptions(kw, optiondefs)
     DirectScrolledList.__init__(self, parent)
     self.initialiseoptions(FishBrowser)
     return None
Ejemplo n.º 4
0
 def __init__(self, parent = aspect2d, **kw):
     self.parent = parent
     gui = loader.loadModel('phase_3.5/models/gui/friendslist_gui')
     optiondefs = (('parent', self.parent, None),
      ('relief', None, None),
      ('incButton_image', (gui.find('**/FndsLst_ScrollUp'),
        gui.find('**/FndsLst_ScrollDN'),
        gui.find('**/FndsLst_ScrollUp_Rllvr'),
        gui.find('**/FndsLst_ScrollUp')), None),
      ('incButton_relief', None, None),
      ('incButton_scale', (1.3, 1.3, -1.3), None),
      ('incButton_pos', (0, 0, -0.525), None),
      ('incButton_image3_color', Vec4(0.8, 0.8, 0.8, 0.5), None),
      ('decButton_image', (gui.find('**/FndsLst_ScrollUp'),
        gui.find('**/FndsLst_ScrollDN'),
        gui.find('**/FndsLst_ScrollUp_Rllvr'),
        gui.find('**/FndsLst_ScrollUp')), None),
      ('decButton_relief', None, None),
      ('decButton_scale', (1.3, 1.3, 1.3), None),
      ('decButton_pos', (0, 0, 0.525), None),
      ('decButton_image3_color', Vec4(0.8, 0.8, 0.8, 0.5), None),
      ('numItemsVisible', 1, None),
      ('items', map(str, FishGlobals.getGenera()), None),
      ('scrollSpeed', 4, None),
      ('itemMakeFunction', GenusPanel.GenusPanel, None),
      ('itemMakeExtraArgs', None, None))
     gui.removeNode()
     self.defineoptions(kw, optiondefs)
     DirectScrolledList.__init__(self, parent)
     self.initialiseoptions(FishBrowser)
     return None
    def setGenus(self, genus):
        if self.genus == genus:
            return
        self.genus = genus
        if self.genus != None:
            if self.fishPanel:
                self.fishPanel.destroy()
            f = FishBase.FishBase(self.genus, 0, 0)
            self.fishPanel = FishPhoto.FishPhoto(fish=f, parent=self)
            self.fishPanel.setPos(-0.23, 1, -0.01)
            self.fishPanel.setSwimBounds(-0.2461, 0.2367, -0.207, 0.2664)
            self.fishPanel.setSwimColor(0.47, 1.0, 0.99, 1.0)
            speciesList = FishGlobals.getSpecies(self.genus)
            self.speciesLabels = []
            offset = 0.075
            startPos = len(speciesList) / 2 * offset
            if not len(speciesList) % 2:
                startPos -= offset / 2
            for species in range(len(speciesList)):
                label = DirectLabel(
                    parent=self,
                    relief=None,
                    state=DGG.NORMAL,
                    pos=(0.06, 0, startPos - species * offset),
                    text=TTLocalizer.UnknownFish,
                    text_fg=(0.2, 0.1, 0.0, 1),
                    text_scale=TTLocalizer.GPgenus,
                    text_align=TextNode.ALeft,
                    text_font=ToontownGlobals.getInterfaceFont())
                self.speciesLabels.append(label)

        return
Ejemplo n.º 6
0
 def update(self):
     assert self.notify.debugStateCall(self)
     if base.localAvatar.fishCollection.hasGenus(self.genus) and self.fishPanel is not None:
         self.fishPanel.show(showBackground=1)
         self['text'] = TTLocalizer.FishGenusNames[self.genus]
     for species in range(len(FishGlobals.getSpecies(self.genus))):
         if base.localAvatar.fishCollection.hasFish(self.genus, species):
             self.speciesLabels[species]['text'] = TTLocalizer.FishSpeciesNames[self.genus][species]
Ejemplo n.º 7
0
    def update(self):
        if base.localAvatar.fishCollection.hasGenus(self.genus) and self.fishPanel is not None:
            self.fishPanel.show(showBackground=1)
            self['text'] = TTLocalizer.FishGenusNames[self.genus]
        for species in range(len(FishGlobals.getSpecies(self.genus))):
            if base.localAvatar.fishCollection.hasFish(self.genus, species):
                self.speciesLabels[species]['text'] = TTLocalizer.FishSpeciesNames[self.genus][species]

        return
Ejemplo n.º 8
0
    def __init__(self, parent=aspect2d, **kw):
        """
        FishBrowser constructor: create a scrolling list of fish
        """
        assert self.notify.debugStateCall(self)
        self.parent = parent

        # make the scrolling pick list for the fish names
        gui = loader.loadModel("phase_3.5/models/gui/friendslist_gui")
        
        optiondefs = (
            ('parent', self.parent,    None),
            ('relief', None,    None),
            # inc and dec are DirectButtons
            ('incButton_image', (
                gui.find("**/FndsLst_ScrollUp"),
                gui.find("**/FndsLst_ScrollDN"),
                gui.find("**/FndsLst_ScrollUp_Rllvr"),
                gui.find("**/FndsLst_ScrollUp"),
                ),    None),
            ('incButton_relief',                       None,    None),
            ('incButton_scale',              (1.3,1.3,-1.3),    None),
            ('incButton_pos',                  (0,0,-0.525),    None),
            # Make the disabled button fade out
            ('incButton_image3_color',   Vec4(0.8,0.8,0.8,0.5), None),
            ('decButton_image', (
                gui.find("**/FndsLst_ScrollUp"),
                gui.find("**/FndsLst_ScrollDN"),
                gui.find("**/FndsLst_ScrollUp_Rllvr"),
                gui.find("**/FndsLst_ScrollUp"),
                ),    None),
            ('decButton_relief',                          None, None),
            ('decButton_scale',                  (1.3,1.3,1.3), None),
            ('decButton_pos',                      (0,0,0.525), None),
            # Make the disabled button fade out
            ('decButton_image3_color',   Vec4(0.8,0.8,0.8,0.5), None),
            ('numItemsVisible',                              1, None),
            ('items',        map(str, FishGlobals.getGenera()), None),
            ('scrollSpeed',                                  4, None),
            ('itemMakeFunction',         GenusPanel.GenusPanel, None),
            ('itemMakeExtraArgs',                         None, None),
            )
        gui.removeNode()
        # Merge keyword options with default options
        self.defineoptions(kw, optiondefs)
        # Initialize superclasses
        DirectScrolledList.__init__(self, parent)
        self.initialiseoptions(FishBrowser)
Ejemplo n.º 9
0
    def setGenus(self, genus):
        if self.genus == genus:
            return
        self.genus = genus
        if self.genus != None:
            if self.fishPanel:
                self.fishPanel.destroy()
            f = FishBase.FishBase(self.genus, 0, 0)
            self.fishPanel = FishPhoto.FishPhoto(fish=f, parent=self)
            self.fishPanel.setPos(-0.23, 1, -0.01)
            self.fishPanel.setSwimBounds(-0.2461, 0.2367, -0.207, 0.2664)
            self.fishPanel.setSwimColor(0.47, 1.0, 0.99, 1.0)
            speciesList = FishGlobals.getSpecies(self.genus)
            self.speciesLabels = []
            offset = 0.075
            startPos = len(speciesList) / 2 * offset
            if not len(speciesList) % 2:
                startPos -= offset / 2
            for species in range(len(speciesList)):
                label = DirectLabel(parent=self, relief=None, state=DGG.NORMAL, pos=(0.06, 0, startPos - species * offset), text=TTLocalizer.UnknownFish, text_fg=(0.2, 0.1, 0.0, 1), text_scale=TTLocalizer.GPgenus, text_align=TextNode.ALeft, text_font=ToontownGlobals.getInterfaceFont())
                self.speciesLabels.append(label)

        return
Ejemplo n.º 10
0
 def setGenus(self, genus):
     assert self.notify.debugStateCall(self)
     if self.genus == genus:
         return
     self.genus = genus
     if self.genus != None:
         # load the genus image
         if self.fishPanel:
             self.fishPanel.destroy()
         f = FishBase.FishBase(self.genus, 0, 0)
         self.fishPanel = FishPhoto.FishPhoto(fish=f, parent=self)
         self.fishPanel.setPos(-0.23, 1, -0.01)
         # This is carefully placed over the book image.  Please try to keep
         # this in sync with the book position:
         self.fishPanel.setSwimBounds(-0.2461, 0.2367, -0.207, 0.2664)
         # Light blue-green water background:
         self.fishPanel.setSwimColor(0.47, 1.0, 0.99, 1.0)
         speciesList = FishGlobals.getSpecies(self.genus)
         self.speciesLabels = []
         offset = 0.075
         startPos = ((len(speciesList) / 2) * offset)
         if not len(speciesList) % 2:
             # even len's need a little shift down
             startPos -= offset / 2
         for species in range(len(speciesList)):
             label = DirectLabel(
                 parent=self,
                 relief=None,
                 state = DGG.NORMAL,
                 pos = (0.06, 0, startPos - (species * offset)),
                 text = TTLocalizer.UnknownFish,
                 text_fg = (0.2,0.1,0.0,1),
                 text_scale = TTLocalizer.GPgenus,
                 text_align = TextNode.ALeft,
                 text_font = ToontownGlobals.getInterfaceFont(),
                 )
             self.speciesLabels.append(label)
Ejemplo n.º 11
0
 def getRarity(self):
     return FishGlobals.getRarity(self.genus, self.species)
Ejemplo n.º 12
0
 def getValue(self):
     return FishGlobals.getValue(self.genus, self.species, self.weight)
Ejemplo n.º 13
0
 def getRarity(self):
     """
     Returns the rarity of this fish, based on the genus and species.
     This value is not stored, it is simply looked up in a table.
     """
     return FishGlobals.getRarity(self.genus, self.species)
Ejemplo n.º 14
0
 def __chooseFish(self, av, zoneId):
     rodId = av.getFishingRod()
     branchZone = ZoneUtil.getCanonicalBranchZone(zoneId)
     success, genus, species, weight = FishGlobals.getRandomFishVitals(branchZone, rodId)
     return (success, genus, species, weight)
Ejemplo n.º 15
0
 def getTokenValue(self):
     return int(
         FishGlobals.getValue(self.genus, self.species, self.weight) *
         FishGlobals.TokenFactor)
Ejemplo n.º 16
0
 def getValue(self):
     return FishGlobals.getValue(self.genus, self.species, self.weight)
Ejemplo n.º 17
0
 def getRarity(self):
     return FishGlobals.getRarity(self.genus, self.species)
Ejemplo n.º 18
0
 def getValue(self):
     """
     Returns the monetary value of this fish using a delicately balanced formula
     based on the fish species, rarity, and weight
     """
     return FishGlobals.getValue(self.genus, self.species, self.weight)