private void populateFarmBlueprints()
        {
            blueprints.Clear();

            /*if (this.magicalConstruction)
             * {
             *  this.blueprints.Add(new BluePrint("Junimo Hut"));
             *  this.blueprints.Add(new BluePrint("Earth Obelisk"));
             *  this.blueprints.Add(new BluePrint("Water Obelisk"));
             *  this.blueprints.Add(new BluePrint("Gold Clock"));
             * }
             * else
             * {*/
            this.blueprints.Add(new BluePrint("Coop"));
            this.blueprints.Add(new BluePrint("Barn"));
            this.blueprints.Add(new BluePrint("Well"));
            if (!framework.expansionSelected(currentFarm.Name))
            {
                this.blueprints.Add(new BluePrint("Silo"));
            }
            this.blueprints.Add(new BluePrint("Mill"));
            this.blueprints.Add(new BluePrint("Shed"));
            if (!Game1.getFarm().isBuildingConstructed("Stable") && !framework.expansionSelected(currentFarm.Name))
            {
                this.blueprints.Add(new BluePrint("Stable"));
            }
            if (!framework.expansionSelected(currentFarm.Name))
            {
                this.blueprints.Add(new BluePrint("Slime Hutch"));
            }
            //this.blueprints.Add(new BluePrint("Slime Hutch"));
            if (currentFarm.isBuildingConstructed("Coop"))
            {
                this.blueprints.Add(new BluePrint("Big Coop"));
            }
            if (currentFarm.isBuildingConstructed("Big Coop"))
            {
                this.blueprints.Add(new BluePrint("Deluxe Coop"));
            }
            if (currentFarm.isBuildingConstructed("Barn"))
            {
                this.blueprints.Add(new BluePrint("Big Barn"));
            }
            if (currentFarm.isBuildingConstructed("Big Barn"))
            {
                this.blueprints.Add(new BluePrint("Deluxe Barn"));
            }
            if (!framework.expansionSelected(currentFarm.Name))
            {
                this.blueprints.AddRange(_farmBluePrintsToAdd);
            }
            else
            {
                this.blueprints.AddRange(_expansionBluePrintsToAdd);
            }

            //}
        }
        public override void draw(SpriteBatch b)
        {
            if (!this.onFarm && !Game1.dialogueUp && !Game1.globalFade)
            {
                b.Draw(Game1.fadeToBlackRect, Game1.graphics.GraphicsDevice.Viewport.Bounds, Color.Black * 0.75f);
                SpriteText.drawStringWithScrollBackground(b, farmName[framework.expansionSelected(currentFarm.Name) ? 1 : 0], xPositionOnScreen + width / 4 + Game1.tileSize / 5, yPositionOnScreen, "Expansion", 1f, -1);
                SpriteText.drawStringWithScrollBackground(b, Game1.content.LoadString("Strings\\StringsFromCSFiles:PurchaseAnimalsMenu.cs.11354", new object[0]), this.xPositionOnScreen + IClickableMenu.spaceToClearSideBorder + Game1.tileSize, this.yPositionOnScreen + this.height + -Game1.tileSize / 2 + IClickableMenu.spaceToClearTopBorder / 2, "Truffle Pig", 1f, -1);
                Game1.drawDialogueBox(this.xPositionOnScreen, this.yPositionOnScreen, this.width, this.height, false, true, null, false);
                Game1.dayTimeMoneyBox.drawMoneyBox(b, -1, -1);
                this.previousFarmButton.draw(b);
                this.nextFarmButton.draw(b);
                using (List <ClickableTextureComponent> .Enumerator enumerator = this.animalsToPurchase.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        ClickableTextureComponent current = enumerator.Current;
                        current.draw(b, ((current.item as Object).Type != null) ? (Color.Black * 0.4f) : Color.White, 0.87f);
                    }
                    goto IL_2AE;
                }
            }
            if (!Game1.globalFade && this.onFarm)
            {
                string s = Game1.content.LoadString("Strings\\StringsFromCSFiles:PurchaseAnimalsMenu.cs.11355", new object[]
                {
                    this.animalBeingPurchased.displayHouse,
                    this.animalBeingPurchased.displayType
                });
                SpriteText.drawStringWithScrollBackground(b, s, Game1.viewport.Width / 2 - SpriteText.getWidthOfString(s) / 2, Game1.tileSize / 4, "", 1f, -1);
                if (this.namingAnimal)
                {
                    b.Draw(Game1.fadeToBlackRect, Game1.graphics.GraphicsDevice.Viewport.Bounds, Color.Black * 0.75f);
                    Game1.drawDialogueBox(Game1.viewport.Width / 2 - Game1.tileSize * 4, Game1.viewport.Height / 2 - Game1.tileSize * 3 - Game1.tileSize / 2, Game1.tileSize * 8, Game1.tileSize * 3, false, true, null, false);
                    Utility.drawTextWithShadow(b, Game1.content.LoadString("Strings\\StringsFromCSFiles:PurchaseAnimalsMenu.cs.11357", new object[0]), Game1.dialogueFont, new Vector2((float)(Game1.viewport.Width / 2 - Game1.tileSize * 4 + Game1.tileSize / 2 + 8), (float)(Game1.viewport.Height / 2 - Game1.tileSize * 2 + 8)), Game1.textColor, 1f, -1f, -1, -1, 1f, 3);
                    this.textBox.Draw(b);
                    this.doneNamingButton.draw(b);
                    this.randomButton.draw(b);
                }
            }
IL_2AE:
            if (!Game1.globalFade && this.okButton != null)
            {
                this.okButton.draw(b);
            }
            if (this.hovered != null)
            {
                if ((this.hovered.item as Object).Type != null)
                {
                    IClickableMenu.drawHoverText(b, Game1.parseText((this.hovered.item as Object).Type, Game1.dialogueFont, Game1.tileSize * 5), Game1.dialogueFont, 0, 0, -1, null, -1, null, null, 0, -1, -1, -1, -1, 1f, null);
                }
                else
                {
                    string animalTitle = PurchaseAnimalsMenu.getAnimalTitle(this.hovered.hoverText);
                    SpriteText.drawStringWithScrollBackground(b, animalTitle, this.xPositionOnScreen + IClickableMenu.spaceToClearSideBorder + Game1.tileSize + Game1.tileSize / 2, this.yPositionOnScreen + this.height + Game1.tileSize - Game1.tileSize / 4 + IClickableMenu.spaceToClearTopBorder / 2, "Truffle Pig", 1f, -1);
                    SpriteText.drawStringWithScrollBackground(b, "$" + Game1.content.LoadString("Strings\\StringsFromCSFiles:LoadGameMenu.cs.11020", new object[]
                    {
                        this.hovered.item.salePrice()
                    }), this.xPositionOnScreen + IClickableMenu.spaceToClearSideBorder + Game1.tileSize * 2, this.yPositionOnScreen + this.height + Game1.tileSize * 2 + IClickableMenu.spaceToClearTopBorder / 2, "$99999999g", (Game1.player.Money >= this.hovered.item.salePrice()) ? 1f : 0.5f, -1);
                    string animalDescription = PurchaseAnimalsMenu.getAnimalDescription(this.hovered.hoverText);
                    IClickableMenu.drawHoverText(b, Game1.parseText(animalDescription, Game1.smallFont, Game1.tileSize * 5), Game1.smallFont, 0, 0, -1, animalTitle, -1, null, null, 0, -1, -1, -1, -1, 1f, null);
                }
            }
            Game1.mouseCursorTransparency = 1f;
            base.drawMouse(b);
        }