def setupScene(self): base.loadingScreen.tick() base.disableMouse() self._initGUI() base.loadingScreen.beginStep('setupScene', 9, 45) base.loadingScreen.tick() self.hintScreen = PotionHint(self) self.hintScreen.stash() base.loadingScreen.tick() self.infoScreen = PotionInfo(self) self.infoScreen.stash() base.loadingScreen.tick() self.currentRecipe = None self.recipes = [] for recipeData in PotionRecipeData.PotionRecipeList: valid = True if recipeData.get('disabled', False): continue for ingredient in recipeData['ingredients']: if ingredient['color'] not in PotionRecipeData.PotionColorSets[ self.dist.colorSet]: valid = False continue newRecipe = PotionRecipe(self, recipeData['potionID'], recipeData['name'], recipeData['desc'], recipeData['ingredients'], recipeData['level'], recipeData['free'], recipeData.get('questOnly', False)) if valid: newRecipe.available = True else: newRecipe.available = False self.recipes.append(newRecipe) for recipe in self.recipes: recipe.setPos(-1.1000000000000001, 0, -0.65000000000000002) self.recipePicker = PotionRecipePicker(self) base.loadingScreen.tick() (self.recipePicker.setPos(0.0, 0.0, 0.0), ) self.recipePicker.setEnabled(False) self.recipePicker.stash() self.resultsScreen = PotionResults(self) self.resultsScreen.stash() base.loadingScreen.tick() self.failScreen = PotionFail(self) self.failScreen.stash() base.loadingScreen.tick() self._initIntervals() base.loadingScreen.tick() self.gameBoard = PotionGameBoard(self) self.gameBoard.setPos(0.10000000000000001, 0, -0.70499999999999996) base.loadingScreen.tick() self.unlockList = [] base.musicMgr.request(SoundGlobals.MUSIC_MINIGAME_POTION, priority=1, volume=0.40000000000000002) base.loadingScreen.endStep('setupScene')