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)
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)
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 __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
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]
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
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)
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
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)
def getRarity(self): return FishGlobals.getRarity(self.genus, self.species)
def getValue(self): return FishGlobals.getValue(self.genus, self.species, self.weight)
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)
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)
def getTokenValue(self): return int( FishGlobals.getValue(self.genus, self.species, self.weight) * FishGlobals.TokenFactor)
def getValue(self): return FishGlobals.getValue(self.genus, self.species, self.weight)
def getRarity(self): return FishGlobals.getRarity(self.genus, self.species)
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)