// Token: 0x06000F16 RID: 3862 RVA: 0x00135377 File Offset: 0x00133577 public static List <string> getProfessionDescription(int whichProfession) { List <string> expr_05 = new List <string>(); LevelUpMenu.addProfessionDescriptions(expr_05, LevelUpMenu.getProfessionName(whichProfession)); return(expr_05); }
public static List <string> getProfessionDescription(int whichProfession) { List <string> descriptions = new List <string>(); string professionName = LevelUpMenu.getProfessionName(whichProfession); LevelUpMenu.addProfessionDescriptions(descriptions, professionName); return(descriptions); }
// Token: 0x06000FD2 RID: 4050 RVA: 0x00147BC4 File Offset: 0x00145DC4 public override void performHoverAction(int x, int y) { this.hoverText = ""; this.hoverTitle = ""; this.professionImage = -1; foreach (ClickableTextureComponent c in this.specialItems) { if (c.containsPoint(x, y)) { this.hoverText = c.hoverText; break; } } foreach (ClickableTextureComponent c2 in this.skillBars) { c2.scale = (float)Game1.pixelZoom; if (c2.containsPoint(x, y) && c2.hoverText.Length > 0) { if (!c2.name.Equals("-1")) { this.hoverText = c2.hoverText; this.hoverTitle = LevelUpMenu.getProfessionTitleFromNumber(Convert.ToInt32(c2.name)); this.professionImage = Convert.ToInt32(c2.name); c2.scale = 0f; break; } break; } } foreach (ClickableTextureComponent c3 in this.skillAreas) { if (c3.containsPoint(x, y) && c3.hoverText.Length > 0) { this.hoverText = c3.hoverText; this.hoverTitle = Farmer.getSkillNameFromIndex(Convert.ToInt32(c3.name)); break; } } if (this.playerPanel.Contains(x, y)) { this.playerPanelTimer -= Game1.currentGameTime.ElapsedGameTime.Milliseconds; if (this.playerPanelTimer <= 0) { this.playerPanelIndex = (this.playerPanelIndex + 1) % 4; this.playerPanelTimer = 150; return; } } else { this.playerPanelIndex = 0; } }
public override void performHoverAction(int x, int y) { this.hoverText = ""; this.hoverTitle = ""; this.professionImage = -1; foreach (ClickableTextureComponent specialItem in this.specialItems) { if (specialItem.containsPoint(x, y)) { this.hoverText = specialItem.hoverText; break; } } foreach (ClickableTextureComponent skillBar in this.skillBars) { skillBar.scale = (float)Game1.pixelZoom; if (skillBar.containsPoint(x, y) && skillBar.hoverText.Length > 0 && !skillBar.name.Equals("-1")) { this.hoverText = skillBar.hoverText; this.hoverTitle = LevelUpMenu.getProfessionTitleFromNumber(Convert.ToInt32(skillBar.name)); this.professionImage = Convert.ToInt32(skillBar.name); skillBar.scale = 0.0f; } } foreach (ClickableTextureComponent skillArea in this.skillAreas) { if (skillArea.containsPoint(x, y) && skillArea.hoverText.Length > 0) { this.hoverText = skillArea.hoverText; this.hoverTitle = Farmer.getSkillDisplayNameFromIndex(Convert.ToInt32(skillArea.name)); break; } } if (this.playerPanel.Contains(x, y)) { this.playerPanelTimer = this.playerPanelTimer - Game1.currentGameTime.ElapsedGameTime.Milliseconds; if (this.playerPanelTimer > 0) { return; } this.playerPanelIndex = (this.playerPanelIndex + 1) % 4; this.playerPanelTimer = 150; } else { this.playerPanelIndex = 0; } }
public override void performHoverAction(int x, int y) { hoverText = ""; hoverTitle = ""; professionImage = -1; foreach (ClickableTextureComponent c3 in specialItems) { if (c3 != null && c3.containsPoint(x, y)) { hoverText = c3.hoverText; break; } } foreach (ClickableTextureComponent c2 in skillBars) { c2.scale = 4f; if (c2.containsPoint(x, y) && c2.hoverText.Length > 0 && !c2.name.Equals("-1")) { hoverText = c2.hoverText; hoverTitle = LevelUpMenu.getProfessionTitleFromNumber(Convert.ToInt32(c2.name)); professionImage = Convert.ToInt32(c2.name); c2.scale = 0f; } } foreach (ClickableTextureComponent c in skillAreas) { if (c.containsPoint(x, y) && c.hoverText.Length > 0) { hoverText = c.hoverText; hoverTitle = Farmer.getSkillDisplayNameFromIndex(Convert.ToInt32(c.name)); break; } } if (playerPanel.Contains(x, y)) { playerPanelTimer -= Game1.currentGameTime.ElapsedGameTime.Milliseconds; if (playerPanelTimer <= 0) { playerPanelIndex = (playerPanelIndex + 1) % 4; playerPanelTimer = 150; } } else { playerPanelIndex = 0; } }
public SkillsPage(int x, int y, int width, int height) : base(x, y, width, height) { int baseX = xPositionOnScreen + IClickableMenu.spaceToClearSideBorder + 80; int baseY = yPositionOnScreen + IClickableMenu.spaceToClearTopBorder + (int)((float)height / 2f) + 80; playerPanel = new Rectangle(xPositionOnScreen + 64, yPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder, 128, 192); if (Game1.player.canUnderstandDwarves) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX, baseY, 64, 64), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11587"), Game1.mouseCursors, new Rectangle(129, 320, 16, 16), 4f, drawShadow: true) { myID = 10201, rightNeighborID = -99998, leftNeighborID = -99998 }); } else { specialItems.Add(null); } if (Game1.player.hasRustyKey) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 68, baseY, 64, 64), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11588"), Game1.mouseCursors, new Rectangle(145, 320, 16, 16), 4f, drawShadow: true) { myID = 10202, rightNeighborID = -99998, leftNeighborID = -99998, upNeighborID = 4 }); } else { specialItems.Add(null); } if (Game1.player.hasClubCard) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 136, baseY, 64, 64), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11589"), Game1.mouseCursors, new Rectangle(161, 320, 16, 16), 4f, drawShadow: true) { myID = 10203, rightNeighborID = -99998, leftNeighborID = -99998, upNeighborID = 4 }); } else { specialItems.Add(null); } if (Game1.player.hasSpecialCharm) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 204, baseY, 64, 64), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11590"), Game1.mouseCursors, new Rectangle(176, 320, 16, 16), 4f, drawShadow: true) { myID = 10204, rightNeighborID = -99998, leftNeighborID = -99998, upNeighborID = 4 }); } else { specialItems.Add(null); } if (Game1.player.hasSkullKey) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 272, baseY, 64, 64), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11591"), Game1.mouseCursors, new Rectangle(192, 320, 16, 16), 4f, drawShadow: true) { myID = 10210, rightNeighborID = -99998, leftNeighborID = -99998, upNeighborID = 4 }); } else { specialItems.Add(null); } if (Game1.player.hasMagnifyingGlass) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 340, baseY, 64, 64), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.magnifyingglass"), Game1.mouseCursors, new Rectangle(208, 320, 16, 16), 4f, drawShadow: true) { myID = 10205, rightNeighborID = -99998, leftNeighborID = -99998, upNeighborID = 4 }); } else { specialItems.Add(null); } if (Game1.player.hasDarkTalisman) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 408, baseY, 64, 64), null, Game1.content.LoadString("Strings\\Objects:DarkTalisman"), Game1.mouseCursors, new Rectangle(225, 320, 16, 16), 4f, drawShadow: true) { myID = 10206, rightNeighborID = -99998, leftNeighborID = -99998, upNeighborID = 4 }); } else { specialItems.Add(null); } if (Game1.player.hasMagicInk) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 476, baseY, 64, 64), null, Game1.content.LoadString("Strings\\Objects:MagicInk"), Game1.mouseCursors, new Rectangle(241, 320, 16, 16), 4f, drawShadow: true) { myID = 10207, rightNeighborID = -99998, leftNeighborID = -99998, upNeighborID = 4 }); } else { specialItems.Add(null); } if (Game1.player.eventsSeen.Contains(2120303)) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 544, baseY, 64, 64), null, Game1.content.LoadString("Strings\\Objects:BearPaw"), Game1.mouseCursors, new Rectangle(192, 336, 16, 16), 4f, drawShadow: true) { myID = 10208, rightNeighborID = -99998, leftNeighborID = -99998, upNeighborID = 4 }); } else { specialItems.Add(null); } if (Game1.player.eventsSeen.Contains(3910979)) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 612, baseY, 64, 64), null, Game1.content.LoadString("Strings\\Objects:SpringOnionBugs"), Game1.mouseCursors, new Rectangle(208, 336, 16, 16), 4f, drawShadow: true) { myID = 10209, rightNeighborID = -99998, leftNeighborID = -99998, upNeighborID = 4 }); } else { specialItems.Add(null); } if (Game1.player.HasTownKey) { specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX, baseY, 64, 64), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:KeyToTheTown"), Game1.objectSpriteSheet, Game1.getSourceRectForStandardTileSheet(Game1.objectSpriteSheet, 912, 16, 16), 4f, drawShadow: true) { myID = 10211, rightNeighborID = -99998, leftNeighborID = -99998, upNeighborID = 4 }); } else { specialItems.Add(null); } int spacing = 680 / specialItems.Count; for (int m = 0; m < specialItems.Count; m++) { if (specialItems[m] != null) { specialItems[m].bounds.X = baseX + m * spacing; } } ClickableComponent.SetUpNeighbors(specialItems, 4); ClickableComponent.ChainNeighborsLeftRight(specialItems); int addedX = 0; int drawX = (LocalizedContentManager.CurrentLanguageCode == LocalizedContentManager.LanguageCode.ru || LocalizedContentManager.CurrentLanguageCode == LocalizedContentManager.LanguageCode.it) ? (xPositionOnScreen + width - 448 - 48 + 4) : (xPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder + 256 - 4); int drawY = yPositionOnScreen + IClickableMenu.spaceToClearTopBorder + IClickableMenu.borderWidth - 12; for (int l = 4; l < 10; l += 5) { for (int i = 0; i < 5; i++) { string professionBlurb = ""; string professionTitle = ""; bool drawRed = false; int professionNumber = -1; switch (i) { case 0: drawRed = (Game1.player.FarmingLevel > l); professionNumber = Game1.player.getProfessionForSkill(0, l + 1); parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; case 1: drawRed = (Game1.player.MiningLevel > l); professionNumber = Game1.player.getProfessionForSkill(3, l + 1); parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; case 2: drawRed = (Game1.player.ForagingLevel > l); professionNumber = Game1.player.getProfessionForSkill(2, l + 1); parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; case 3: drawRed = (Game1.player.FishingLevel > l); professionNumber = Game1.player.getProfessionForSkill(1, l + 1); parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; case 4: drawRed = (Game1.player.CombatLevel > l); professionNumber = Game1.player.getProfessionForSkill(4, l + 1); parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; case 5: drawRed = (Game1.player.LuckLevel > l); professionNumber = Game1.player.getProfessionForSkill(5, l + 1); parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; } if (drawRed && (l + 1) % 5 == 0) { skillBars.Add(new ClickableTextureComponent(string.Concat(professionNumber), new Rectangle(addedX + drawX - 4 + l * 36, drawY + i * 56, 56, 36), null, professionBlurb, Game1.mouseCursors, new Rectangle(159, 338, 14, 9), 4f, drawShadow: true) { myID = ((l + 1 == 5) ? (100 + i) : (200 + i)), leftNeighborID = ((l + 1 == 5) ? i : (100 + i)), rightNeighborID = ((l + 1 == 5) ? (200 + i) : (-1)), downNeighborID = -99998 }); } } addedX += 24; } for (int k = 0; k < skillBars.Count; k++) { if (k < skillBars.Count - 1 && Math.Abs(skillBars[k + 1].myID - skillBars[k].myID) < 50) { skillBars[k].downNeighborID = skillBars[k + 1].myID; skillBars[k + 1].upNeighborID = skillBars[k].myID; } } if (skillBars.Count > 1 && skillBars.Last().myID >= 200 && skillBars[skillBars.Count - 2].myID >= 200) { skillBars.Last().upNeighborID = skillBars[skillBars.Count - 2].myID; } for (int j = 0; j < 5; j++) { int index = j; switch (index) { case 1: index = 3; break; case 3: index = 1; break; } string text = ""; switch (index) { case 0: if (Game1.player.FarmingLevel > 0) { text = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11592", Game1.player.FarmingLevel) + Environment.NewLine + Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11594", Game1.player.FarmingLevel); } break; case 2: if (Game1.player.ForagingLevel > 0) { text = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11596", Game1.player.ForagingLevel); } break; case 1: if (Game1.player.FishingLevel > 0) { text = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11598", Game1.player.FishingLevel); } break; case 3: if (Game1.player.MiningLevel > 0) { text = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11600", Game1.player.MiningLevel); } break; case 4: if (Game1.player.CombatLevel > 0) { text = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11602", Game1.player.CombatLevel * 5); } break; } skillAreas.Add(new ClickableTextureComponent(string.Concat(index), new Rectangle(drawX - 128 - 48, drawY + j * 56, 148, 36), string.Concat(index), text, null, Rectangle.Empty, 1f) { myID = j, downNeighborID = ((j < 4) ? (j + 1) : (-99998)), upNeighborID = ((j > 0) ? (j - 1) : 12341), rightNeighborID = 100 + j }); } }
public SkillsPage(int x, int y, int width, int height) : base(x, y, width, height, false) { int x1 = this.xPositionOnScreen + IClickableMenu.spaceToClearSideBorder + Game1.tileSize * 5 / 4; int y1 = this.yPositionOnScreen + IClickableMenu.spaceToClearTopBorder + (int)((double)height / 2.0) + Game1.tileSize * 5 / 4; this.playerPanel = new Rectangle(this.xPositionOnScreen + Game1.tileSize, this.yPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder, Game1.tileSize * 2, Game1.tileSize * 3); if (Game1.player.canUnderstandDwarves) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1, y1, Game1.tileSize, Game1.tileSize), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11587"), Game1.mouseCursors, new Rectangle(129, 320, 16, 16), (float)Game1.pixelZoom, true); int num1 = 10201; textureComponent.myID = num1; int num2 = 10202; textureComponent.rightNeighborID = num2; int num3 = 4; textureComponent.upNeighborID = num3; specialItems.Add(textureComponent); } if (Game1.player.hasRustyKey) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + (Game1.tileSize + Game1.pixelZoom), y1, Game1.tileSize, Game1.tileSize), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11588"), Game1.mouseCursors, new Rectangle(145, 320, 16, 16), (float)Game1.pixelZoom, true); int num1 = 10202; textureComponent.myID = num1; int num2 = 10203; textureComponent.rightNeighborID = num2; int num3 = 10201; textureComponent.leftNeighborID = num3; int num4 = 4; textureComponent.upNeighborID = num4; specialItems.Add(textureComponent); } if (Game1.player.hasClubCard) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 2 * (Game1.tileSize + Game1.pixelZoom), y1, Game1.tileSize, Game1.tileSize), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11589"), Game1.mouseCursors, new Rectangle(161, 320, 16, 16), (float)Game1.pixelZoom, true); int num1 = 10203; textureComponent.myID = num1; int num2 = 10204; textureComponent.rightNeighborID = num2; int num3 = 10202; textureComponent.leftNeighborID = num3; int num4 = 4; textureComponent.upNeighborID = num4; specialItems.Add(textureComponent); } if (Game1.player.hasSpecialCharm) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 3 * (Game1.tileSize + Game1.pixelZoom), y1, Game1.tileSize, Game1.tileSize), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11590"), Game1.mouseCursors, new Rectangle(177, 320, 16, 16), (float)Game1.pixelZoom, true); int num1 = 10204; textureComponent.myID = num1; int num2 = 10205; textureComponent.rightNeighborID = num2; int num3 = 10203; textureComponent.leftNeighborID = num3; int num4 = 4; textureComponent.upNeighborID = num4; specialItems.Add(textureComponent); } if (Game1.player.hasSkullKey) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 4 * (Game1.tileSize + Game1.pixelZoom), y1, Game1.tileSize, Game1.tileSize), (string)null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11591"), Game1.mouseCursors, new Rectangle(193, 320, 16, 16), (float)Game1.pixelZoom, true); int num1 = 10205; textureComponent.myID = num1; int num2 = 10206; textureComponent.rightNeighborID = num2; int num3 = 10204; textureComponent.leftNeighborID = num3; int num4 = 4; textureComponent.upNeighborID = num4; specialItems.Add(textureComponent); } if (Game1.player.hasDarkTalisman) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 5 * (Game1.tileSize + Game1.pixelZoom), y1, Game1.tileSize, Game1.tileSize), (string)null, Game1.content.LoadString("Strings\\Objects:DarkTalisman"), Game1.mouseCursors, new Rectangle(225, 320, 16, 16), (float)Game1.pixelZoom, true); int num1 = 10206; textureComponent.myID = num1; int num2 = 10207; textureComponent.rightNeighborID = num2; int num3 = 10205; textureComponent.leftNeighborID = num3; int num4 = 4; textureComponent.upNeighborID = num4; specialItems.Add(textureComponent); } if (Game1.player.hasMagicInk) { List <ClickableTextureComponent> specialItems = this.specialItems; ClickableTextureComponent textureComponent = new ClickableTextureComponent("", new Rectangle(x1 + 6 * (Game1.tileSize + Game1.pixelZoom), y1, Game1.tileSize, Game1.tileSize), (string)null, Game1.content.LoadString("Strings\\Objects:MagicInk"), Game1.mouseCursors, new Rectangle(241, 320, 16, 16), (float)Game1.pixelZoom, true); int num1 = 10207; textureComponent.myID = num1; int num2 = 10206; textureComponent.leftNeighborID = num2; int num3 = 4; textureComponent.upNeighborID = num3; specialItems.Add(textureComponent); } int num5 = 0; int num6 = LocalizedContentManager.CurrentLanguageCode == LocalizedContentManager.LanguageCode.ru ? this.xPositionOnScreen + width - Game1.tileSize * 7 - Game1.tileSize * 3 / 4 + Game1.pixelZoom : this.xPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder + 4 * Game1.tileSize - Game1.pixelZoom; int num7 = this.yPositionOnScreen + IClickableMenu.spaceToClearTopBorder + IClickableMenu.borderWidth - Game1.pixelZoom * 3; int num8 = 4; while (num8 < 10) { for (int index = 0; index < 5; ++index) { string professionBlurb = ""; string professionTitle = ""; bool flag = false; int whichProfession = -1; switch (index) { case 0: flag = Game1.player.FarmingLevel > num8; whichProfession = Game1.player.getProfessionForSkill(0, num8 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; case 1: flag = Game1.player.MiningLevel > num8; whichProfession = Game1.player.getProfessionForSkill(3, num8 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; case 2: flag = Game1.player.ForagingLevel > num8; whichProfession = Game1.player.getProfessionForSkill(2, num8 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; case 3: flag = Game1.player.FishingLevel > num8; whichProfession = Game1.player.getProfessionForSkill(1, num8 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; case 4: flag = Game1.player.CombatLevel > num8; whichProfession = Game1.player.getProfessionForSkill(4, num8 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; case 5: flag = Game1.player.LuckLevel > num8; whichProfession = Game1.player.getProfessionForSkill(5, num8 + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(whichProfession)); break; } if (flag && (num8 + 1) % 5 == 0) { List <ClickableTextureComponent> skillBars = this.skillBars; ClickableTextureComponent textureComponent = new ClickableTextureComponent(string.Concat((object)whichProfession), new Rectangle(num5 + num6 - Game1.pixelZoom + num8 * (Game1.tileSize / 2 + Game1.pixelZoom), num7 + index * (Game1.tileSize / 2 + Game1.pixelZoom * 6), 14 * Game1.pixelZoom, 9 * Game1.pixelZoom), (string)null, professionBlurb, Game1.mouseCursors, new Rectangle(159, 338, 14, 9), (float)Game1.pixelZoom, true); int num1 = num8 + 1 == 5 ? 100 + index : 200 + index; textureComponent.myID = num1; int num2 = num8 + 1 == 5 ? index : 100 + index; textureComponent.leftNeighborID = num2; int num3 = num8 + 1 == 5 ? 200 + index : -1; textureComponent.rightNeighborID = num3; int num4 = 10201; textureComponent.downNeighborID = num4; skillBars.Add(textureComponent); } } num5 += Game1.pixelZoom * 6; num8 += 5; } for (int index = 0; index < this.skillBars.Count; ++index) { if (index < this.skillBars.Count - 1 && Math.Abs(this.skillBars[index + 1].myID - this.skillBars[index].myID) < 50) { this.skillBars[index].downNeighborID = this.skillBars[index + 1].myID; this.skillBars[index + 1].upNeighborID = this.skillBars[index].myID; } } if (this.skillBars.Count > 1 && this.skillBars.Last <ClickableTextureComponent>().myID >= 200 && this.skillBars[this.skillBars.Count - 2].myID >= 200) { this.skillBars.Last <ClickableTextureComponent>().upNeighborID = this.skillBars[this.skillBars.Count - 2].myID; } for (int index = 0; index < 5; ++index) { int num1 = index; switch (num1) { case 1: num1 = 3; break; case 3: num1 = 1; break; } string hoverText = ""; switch (num1) { case 0: if (Game1.player.FarmingLevel > 0) { hoverText = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11592", (object)Game1.player.FarmingLevel) + Environment.NewLine + Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11594", (object)Game1.player.FarmingLevel); break; } break; case 1: if (Game1.player.FishingLevel > 0) { hoverText = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11598", (object)Game1.player.FishingLevel); break; } break; case 2: if (Game1.player.ForagingLevel > 0) { hoverText = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11596", (object)Game1.player.ForagingLevel); break; } break; case 3: if (Game1.player.MiningLevel > 0) { hoverText = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11600", (object)Game1.player.MiningLevel); break; } break; case 4: if (Game1.player.CombatLevel > 0) { hoverText = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11602", (object)(Game1.player.CombatLevel * 5)); break; } break; } List <ClickableTextureComponent> skillAreas = this.skillAreas; ClickableTextureComponent textureComponent = new ClickableTextureComponent(string.Concat((object)num1), new Rectangle(num6 - Game1.tileSize * 2 - Game1.tileSize * 3 / 4, num7 + index * (Game1.tileSize / 2 + Game1.pixelZoom * 6), Game1.tileSize * 2 + Game1.pixelZoom * 5, 9 * Game1.pixelZoom), string.Concat((object)num1), hoverText, (Texture2D)null, Rectangle.Empty, 1f, false); int num2 = index; textureComponent.myID = num2; int num3 = index < 4 ? index + 1 : 10201; textureComponent.downNeighborID = num3; int num4 = index > 0 ? index - 1 : 12341; textureComponent.upNeighborID = num4; int num9 = 100 + index; textureComponent.rightNeighborID = num9; skillAreas.Add(textureComponent); } }
// Token: 0x06000FCE RID: 4046 RVA: 0x00147358 File Offset: 0x00145558 public SkillsPage(int x, int y, int width, int height) : base(x, y, width, height, false) { int baseX = this.xPositionOnScreen + IClickableMenu.spaceToClearSideBorder + Game1.tileSize * 5 / 4; int baseY = this.yPositionOnScreen + IClickableMenu.spaceToClearTopBorder + (int)((float)height / 2f) + Game1.tileSize * 5 / 4; this.playerPanel = new Rectangle(this.xPositionOnScreen + Game1.tileSize, this.yPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder, Game1.tileSize * 2, Game1.tileSize * 3); if (Game1.player.canUnderstandDwarves) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX, baseY, Game1.tileSize, Game1.tileSize), null, "Dwarvish Translation Guide", Game1.mouseCursors, new Rectangle(129, 320, 16, 16), (float)Game1.pixelZoom, true)); } if (Game1.player.hasRustyKey) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + (Game1.tileSize + Game1.pixelZoom), baseY, Game1.tileSize, Game1.tileSize), null, "Rusty Key", Game1.mouseCursors, new Rectangle(145, 320, 16, 16), (float)Game1.pixelZoom, true)); } if (Game1.player.hasClubCard) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 2 * (Game1.tileSize + Game1.pixelZoom), baseY, Game1.tileSize, Game1.tileSize), null, "Club Card", Game1.mouseCursors, new Rectangle(161, 320, 16, 16), (float)Game1.pixelZoom, true)); } if (Game1.player.hasSpecialCharm) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 3 * (Game1.tileSize + Game1.pixelZoom), baseY, Game1.tileSize, Game1.tileSize), null, "Special Charm", Game1.mouseCursors, new Rectangle(177, 320, 16, 16), (float)Game1.pixelZoom, true)); } if (Game1.player.hasSkullKey) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 4 * (Game1.tileSize + Game1.pixelZoom), baseY, Game1.tileSize, Game1.tileSize), null, "Skull Key", Game1.mouseCursors, new Rectangle(193, 320, 16, 16), (float)Game1.pixelZoom, true)); } if (Game1.player.hasDarkTalisman) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 5 * (Game1.tileSize + Game1.pixelZoom), baseY, Game1.tileSize, Game1.tileSize), null, "Dark Talisman", Game1.mouseCursors, new Rectangle(225, 320, 16, 16), (float)Game1.pixelZoom, true)); } if (Game1.player.hasMagicInk) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(baseX + 6 * (Game1.tileSize + Game1.pixelZoom), baseY, Game1.tileSize, Game1.tileSize), null, "Magic Ink", Game1.mouseCursors, new Rectangle(241, 320, 16, 16), (float)Game1.pixelZoom, true)); } int addedX = 0; int drawX = this.xPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder + 4 * Game1.tileSize - Game1.pixelZoom; int drawY = this.yPositionOnScreen + IClickableMenu.spaceToClearTopBorder + IClickableMenu.borderWidth - Game1.pixelZoom * 3; for (int i = 4; i < 10; i += 5) { for (int j = 0; j < 5; j++) { string professionBlurb = ""; string professionTitle = ""; bool drawRed = false; int professionNumber = -1; switch (j) { case 0: drawRed = (Game1.player.FarmingLevel > i); professionNumber = Game1.player.getProfessionForSkill(0, i + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; case 1: drawRed = (Game1.player.MiningLevel > i); professionNumber = Game1.player.getProfessionForSkill(3, i + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; case 2: drawRed = (Game1.player.ForagingLevel > i); professionNumber = Game1.player.getProfessionForSkill(2, i + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; case 3: drawRed = (Game1.player.FishingLevel > i); professionNumber = Game1.player.getProfessionForSkill(1, i + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; case 4: drawRed = (Game1.player.CombatLevel > i); professionNumber = Game1.player.getProfessionForSkill(4, i + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; case 5: drawRed = (Game1.player.LuckLevel > i); professionNumber = Game1.player.getProfessionForSkill(5, i + 1); this.parseProfessionDescription(ref professionBlurb, ref professionTitle, LevelUpMenu.getProfessionDescription(professionNumber)); break; } if (drawRed && (i + 1) % 5 == 0) { this.skillBars.Add(new ClickableTextureComponent(string.Concat(professionNumber), new Rectangle(addedX + drawX - Game1.pixelZoom + i * (Game1.tileSize / 2 + Game1.pixelZoom), drawY + j * (Game1.tileSize / 2 + Game1.pixelZoom * 6), 14 * Game1.pixelZoom, 9 * Game1.pixelZoom), null, professionBlurb, Game1.mouseCursors, new Rectangle(159, 338, 14, 9), (float)Game1.pixelZoom, true)); } } addedX += Game1.pixelZoom * 6; } for (int k = 0; k < 5; k++) { int index = k; if (index == 1) { index = 3; } else if (index == 3) { index = 1; } string text = ""; switch (index) { case 0: if (Game1.player.FarmingLevel > 0) { text = string.Concat(new object[] { "+", Game1.player.FarmingLevel, " Hoe Efficiency", Environment.NewLine, "+", Game1.player.FarmingLevel, " Water Can Efficiency" }); } break; case 1: if (Game1.player.FishingLevel > 0) { text = "+" + Game1.player.FishingLevel + " Fishing Rod Efficiency"; } break; case 2: if (Game1.player.ForagingLevel > 0) { text = "+" + Game1.player.ForagingLevel + " Axe Efficiency"; } break; case 3: if (Game1.player.MiningLevel > 0) { text = "+" + Game1.player.MiningLevel + " Pickaxe Efficiency"; } break; case 4: if (Game1.player.CombatLevel > 0) { text = "+" + Game1.player.CombatLevel * 5 + " Health"; } break; } this.skillAreas.Add(new ClickableTextureComponent(string.Concat(index), new Rectangle(drawX - Game1.tileSize * 2 - Game1.tileSize * 3 / 4, drawY + k * (Game1.tileSize / 2 + Game1.pixelZoom * 6), Game1.tileSize * 2 + Game1.pixelZoom * 5, 9 * Game1.pixelZoom), string.Concat(index), text, null, Rectangle.Empty, 1f, false)); } }
// Token: 0x06000F1B RID: 3867 RVA: 0x001353E0 File Offset: 0x001335E0 public override void update(GameTime time) { if (!this.isActive) { base.exitThisMenu(true); return; } for (int i = this.littleStars.Count - 1; i >= 0; i--) { if (this.littleStars[i].update(time)) { this.littleStars.RemoveAt(i); } } if (Game1.random.NextDouble() < 0.03) { Vector2 position = new Vector2(0f, (float)(Game1.random.Next(this.yPositionOnScreen - Game1.tileSize * 2, this.yPositionOnScreen - Game1.pixelZoom) / (Game1.pixelZoom * 5) * Game1.pixelZoom * 5 + Game1.tileSize / 2)); if (Game1.random.NextDouble() < 0.5) { position.X = (float)Game1.random.Next(this.xPositionOnScreen + this.width / 2 - 57 * Game1.pixelZoom, this.xPositionOnScreen + this.width / 2 - 33 * Game1.pixelZoom); } else { position.X = (float)Game1.random.Next(this.xPositionOnScreen + this.width / 2 + 29 * Game1.pixelZoom, this.xPositionOnScreen + this.width - 40 * Game1.pixelZoom); } if (position.Y < (float)(this.yPositionOnScreen - Game1.tileSize - Game1.pixelZoom * 2)) { position.X = (float)Game1.random.Next(this.xPositionOnScreen + this.width / 2 - 29 * Game1.pixelZoom, this.xPositionOnScreen + this.width / 2 + 29 * Game1.pixelZoom); } position.X = position.X / (float)(Game1.pixelZoom * 5) * (float)Game1.pixelZoom * 5f; this.littleStars.Add(new TemporaryAnimatedSprite(Game1.mouseCursors, new Rectangle(364, 79, 5, 5), 80f, 7, 1, position, false, false, 1f, 0f, Color.White, (float)Game1.pixelZoom, 0f, 0f, 0f, false) { local = true }); } if (this.timerBeforeStart > 0) { this.timerBeforeStart -= time.ElapsedGameTime.Milliseconds; return; } if (this.isActive && this.isProfessionChooser) { this.leftProfessionColor = Game1.textColor; this.rightProfessionColor = Game1.textColor; Game1.player.completelyStopAnimatingOrDoingAction(); Game1.player.freezePause = 100; if (Game1.getMouseY() > this.yPositionOnScreen + Game1.tileSize * 3 && Game1.getMouseY() < this.yPositionOnScreen + this.height) { if (Game1.getMouseX() > this.xPositionOnScreen && Game1.getMouseX() < this.xPositionOnScreen + this.width / 2) { this.leftProfessionColor = Color.Green; if (((Mouse.GetState().LeftButton == ButtonState.Pressed && this.oldMouseState.LeftButton == ButtonState.Released) || (Game1.options.gamepadControls && GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.A) && !Game1.oldPadState.IsButtonDown(Buttons.A))) && this.readyToClose()) { Game1.player.professions.Add(this.professionsToChoose[0]); this.getImmediateProfessionPerk(this.professionsToChoose[0]); this.isActive = false; this.informationUp = false; this.isProfessionChooser = false; } } else if (Game1.getMouseX() > this.xPositionOnScreen + this.width / 2 && Game1.getMouseX() < this.xPositionOnScreen + this.width) { this.rightProfessionColor = Color.Green; if (((Mouse.GetState().LeftButton == ButtonState.Pressed && this.oldMouseState.LeftButton == ButtonState.Released) || (Game1.options.gamepadControls && GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.A) && !Game1.oldPadState.IsButtonDown(Buttons.A))) && this.readyToClose()) { Game1.player.professions.Add(this.professionsToChoose[1]); this.getImmediateProfessionPerk(this.professionsToChoose[1]); this.isActive = false; this.informationUp = false; this.isProfessionChooser = false; } } } this.height = Game1.tileSize * 8; } this.oldMouseState = Mouse.GetState(); if (this.isActive && !this.informationUp && this.starIcon != null) { if (this.starIcon.containsPoint(Game1.getOldMouseX(), Game1.getOldMouseY())) { this.starIcon.sourceRect.X = 294; } else { this.starIcon.sourceRect.X = 310; } } if (this.isActive && this.starIcon != null && !this.informationUp && (this.oldMouseState.LeftButton == ButtonState.Pressed || (Game1.options.gamepadControls && Game1.oldPadState.IsButtonDown(Buttons.A))) && this.starIcon.containsPoint(this.oldMouseState.X, this.oldMouseState.Y)) { this.newCraftingRecipes.Clear(); this.extraInfoForLevel.Clear(); Game1.player.completelyStopAnimatingOrDoingAction(); Game1.playSound("bigSelect"); this.informationUp = true; this.isProfessionChooser = false; this.currentLevel = Game1.player.newLevels.First <Point>().Y; this.currentSkill = Game1.player.newLevels.First <Point>().X; this.title = Game1.content.LoadString("Strings\\UI:LevelUp_Title", new object[] { this.currentLevel, Farmer.getSkillNameFromIndex(this.currentSkill) }); this.extraInfoForLevel = this.getExtraInfoForLevel(this.currentSkill, this.currentLevel); switch (this.currentSkill) { case 0: this.sourceRectForLevelIcon = new Rectangle(0, 0, 16, 16); break; case 1: this.sourceRectForLevelIcon = new Rectangle(16, 0, 16, 16); break; case 2: this.sourceRectForLevelIcon = new Rectangle(80, 0, 16, 16); break; case 3: this.sourceRectForLevelIcon = new Rectangle(32, 0, 16, 16); break; case 4: this.sourceRectForLevelIcon = new Rectangle(128, 16, 16, 16); break; case 5: this.sourceRectForLevelIcon = new Rectangle(64, 0, 16, 16); break; } if ((this.currentLevel == 5 || this.currentLevel == 10) && this.currentSkill != 5) { this.professionsToChoose.Clear(); this.isProfessionChooser = true; if (this.currentLevel == 5) { this.professionsToChoose.Add(this.currentSkill * 6); this.professionsToChoose.Add(this.currentSkill * 6 + 1); } else if (Game1.player.professions.Contains(this.currentSkill * 6)) { this.professionsToChoose.Add(this.currentSkill * 6 + 2); this.professionsToChoose.Add(this.currentSkill * 6 + 3); } else { this.professionsToChoose.Add(this.currentSkill * 6 + 4); this.professionsToChoose.Add(this.currentSkill * 6 + 5); } this.leftProfessionDescription = LevelUpMenu.getProfessionDescription(this.professionsToChoose[0]); this.rightProfessionDescription = LevelUpMenu.getProfessionDescription(this.professionsToChoose[1]); } int newHeight = 0; foreach (KeyValuePair <string, string> v in CraftingRecipe.craftingRecipes) { string conditions = v.Value.Split(new char[] { '/' })[4]; if (conditions.Contains(Farmer.getSkillNameFromIndex(this.currentSkill)) && conditions.Contains(string.Concat(this.currentLevel))) { this.newCraftingRecipes.Add(new CraftingRecipe(v.Key, false)); if (!Game1.player.craftingRecipes.ContainsKey(v.Key)) { Game1.player.craftingRecipes.Add(v.Key, 0); } newHeight += (this.newCraftingRecipes.Last <CraftingRecipe>().bigCraftable ? (Game1.tileSize * 2) : Game1.tileSize); } } foreach (KeyValuePair <string, string> v2 in CraftingRecipe.cookingRecipes) { string conditions2 = v2.Value.Split(new char[] { '/' })[3]; if (conditions2.Contains(Farmer.getSkillNameFromIndex(this.currentSkill)) && conditions2.Contains(string.Concat(this.currentLevel))) { this.newCraftingRecipes.Add(new CraftingRecipe(v2.Key, true)); if (!Game1.player.cookingRecipes.ContainsKey(v2.Key)) { Game1.player.cookingRecipes.Add(v2.Key, 0); } newHeight += (this.newCraftingRecipes.Last <CraftingRecipe>().bigCraftable ? (Game1.tileSize * 2) : Game1.tileSize); } } this.height = newHeight + Game1.tileSize * 4 + this.extraInfoForLevel.Count * Game1.tileSize * 3 / 4; Game1.player.freezePause = 100; } if (this.isActive && this.informationUp) { Game1.player.completelyStopAnimatingOrDoingAction(); if (this.okButton.containsPoint(Game1.getOldMouseX(), Game1.getOldMouseY()) && !this.isProfessionChooser) { this.okButton.scale = Math.Min(1.1f, this.okButton.scale + 0.05f); if ((this.oldMouseState.LeftButton == ButtonState.Pressed || (Game1.options.gamepadControls && Game1.oldPadState.IsButtonDown(Buttons.A))) && this.readyToClose()) { this.getLevelPerk(this.currentSkill, this.currentLevel); this.isActive = false; this.informationUp = false; } } else { this.okButton.scale = Math.Max(1f, this.okButton.scale - 0.05f); } Game1.player.freezePause = 100; } }
// Token: 0x06000F17 RID: 3863 RVA: 0x0013538A File Offset: 0x0013358A public static string getProfessionTitleFromNumber(int whichProfession) { return(Game1.content.LoadString("Strings\\UI:LevelUp_ProfessionName_" + LevelUpMenu.getProfessionName(whichProfession), new object[0])); }
// Token: 0x06000F10 RID: 3856 RVA: 0x001349F8 File Offset: 0x00132BF8 public LevelUpMenu(int skill, int level) : base(Game1.viewport.Width / 2 - 384, Game1.viewport.Height / 2 - 256, 768, 512, false) { this.timerBeforeStart = 250; this.isActive = true; this.width = Game1.tileSize * 12; this.height = Game1.tileSize * 8; this.okButton = new ClickableTextureComponent(new Rectangle(this.xPositionOnScreen + this.width + 4, this.yPositionOnScreen + this.height - Game1.tileSize - IClickableMenu.borderWidth, Game1.tileSize, Game1.tileSize), Game1.mouseCursors, Game1.getSourceRectForStandardTileSheet(Game1.mouseCursors, 46, -1, -1), 1f, false); this.newCraftingRecipes.Clear(); this.extraInfoForLevel.Clear(); Game1.player.completelyStopAnimatingOrDoingAction(); this.informationUp = true; this.isProfessionChooser = false; this.currentLevel = level; this.currentSkill = skill; if (level == 10) { Game1.getSteamAchievement("Achievement_SingularTalent"); if (Game1.player.farmingLevel == 10 && Game1.player.miningLevel == 10 && Game1.player.fishingLevel == 10 && Game1.player.foragingLevel == 10 && Game1.player.combatLevel == 10) { Game1.getSteamAchievement("Achievement_MasterOfTheFiveWays"); } } this.title = Game1.content.LoadString("Strings\\UI:LevelUp_Title", new object[] { this.currentLevel, Farmer.getSkillNameFromIndex(this.currentSkill) }); this.extraInfoForLevel = this.getExtraInfoForLevel(this.currentSkill, this.currentLevel); switch (this.currentSkill) { case 0: this.sourceRectForLevelIcon = new Rectangle(0, 0, 16, 16); break; case 1: this.sourceRectForLevelIcon = new Rectangle(16, 0, 16, 16); break; case 2: this.sourceRectForLevelIcon = new Rectangle(80, 0, 16, 16); break; case 3: this.sourceRectForLevelIcon = new Rectangle(32, 0, 16, 16); break; case 4: this.sourceRectForLevelIcon = new Rectangle(128, 16, 16, 16); break; case 5: this.sourceRectForLevelIcon = new Rectangle(64, 0, 16, 16); break; } if ((this.currentLevel == 5 || this.currentLevel == 10) && this.currentSkill != 5) { this.professionsToChoose.Clear(); this.isProfessionChooser = true; if (this.currentLevel == 5) { this.professionsToChoose.Add(this.currentSkill * 6); this.professionsToChoose.Add(this.currentSkill * 6 + 1); } else if (Game1.player.professions.Contains(this.currentSkill * 6)) { this.professionsToChoose.Add(this.currentSkill * 6 + 2); this.professionsToChoose.Add(this.currentSkill * 6 + 3); } else { this.professionsToChoose.Add(this.currentSkill * 6 + 4); this.professionsToChoose.Add(this.currentSkill * 6 + 5); } this.leftProfessionDescription = LevelUpMenu.getProfessionDescription(this.professionsToChoose[0]); this.rightProfessionDescription = LevelUpMenu.getProfessionDescription(this.professionsToChoose[1]); } int newHeight = 0; foreach (KeyValuePair <string, string> v in CraftingRecipe.craftingRecipes) { string conditions = v.Value.Split(new char[] { '/' })[4]; if (conditions.Contains(Farmer.getSkillNameFromIndex(this.currentSkill)) && conditions.Contains(string.Concat(this.currentLevel))) { this.newCraftingRecipes.Add(new CraftingRecipe(v.Key, false)); if (!Game1.player.craftingRecipes.ContainsKey(v.Key)) { Game1.player.craftingRecipes.Add(v.Key, 0); } newHeight += (this.newCraftingRecipes.Last <CraftingRecipe>().bigCraftable ? (Game1.tileSize * 2) : Game1.tileSize); } } foreach (KeyValuePair <string, string> v2 in CraftingRecipe.cookingRecipes) { string conditions2 = v2.Value.Split(new char[] { '/' })[3]; if (conditions2.Contains(Farmer.getSkillNameFromIndex(this.currentSkill)) && conditions2.Contains(string.Concat(this.currentLevel))) { this.newCraftingRecipes.Add(new CraftingRecipe(v2.Key, true)); if (!Game1.player.cookingRecipes.ContainsKey(v2.Key)) { Game1.player.cookingRecipes.Add(v2.Key, 0); if (!Game1.player.hasOrWillReceiveMail("robinKitchenLetter")) { Game1.mailbox.Enqueue("robinKitchenLetter"); } } newHeight += (this.newCraftingRecipes.Last <CraftingRecipe>().bigCraftable ? (Game1.tileSize * 2) : Game1.tileSize); } } this.height = newHeight + Game1.tileSize * 4 + this.extraInfoForLevel.Count * Game1.tileSize * 3 / 4; Game1.player.freezePause = 100; this.gameWindowSizeChanged(Rectangle.Empty, Rectangle.Empty); }
public SkillsPage(int x, int y, int width, int height) : base(x, y, width, height, false) { int num = this.xPositionOnScreen + IClickableMenu.spaceToClearSideBorder + Game1.tileSize * 5 / 4; int y2 = this.yPositionOnScreen + IClickableMenu.spaceToClearTopBorder + (int)((float)height / 2f) + Game1.tileSize * 5 / 4; this.playerPanel = new Rectangle(this.xPositionOnScreen + Game1.tileSize, this.yPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder, Game1.tileSize * 2, Game1.tileSize * 3); if (Game1.player.canUnderstandDwarves) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(num, y2, Game1.tileSize, Game1.tileSize), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11587", new object[0]), Game1.mouseCursors, new Rectangle(129, 320, 16, 16), (float)Game1.pixelZoom, true) { myID = 10201, rightNeighborID = 10202, upNeighborID = 4 }); } if (Game1.player.hasRustyKey) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(num + (Game1.tileSize + Game1.pixelZoom), y2, Game1.tileSize, Game1.tileSize), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11588", new object[0]), Game1.mouseCursors, new Rectangle(145, 320, 16, 16), (float)Game1.pixelZoom, true) { myID = 10202, rightNeighborID = 10203, leftNeighborID = 10201, upNeighborID = 4 }); } if (Game1.player.hasClubCard) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(num + 2 * (Game1.tileSize + Game1.pixelZoom), y2, Game1.tileSize, Game1.tileSize), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11589", new object[0]), Game1.mouseCursors, new Rectangle(161, 320, 16, 16), (float)Game1.pixelZoom, true) { myID = 10203, rightNeighborID = 10204, leftNeighborID = 10202, upNeighborID = 4 }); } if (Game1.player.hasSpecialCharm) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(num + 3 * (Game1.tileSize + Game1.pixelZoom), y2, Game1.tileSize, Game1.tileSize), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11590", new object[0]), Game1.mouseCursors, new Rectangle(177, 320, 16, 16), (float)Game1.pixelZoom, true) { myID = 10204, rightNeighborID = 10205, leftNeighborID = 10203, upNeighborID = 4 }); } if (Game1.player.hasSkullKey) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(num + 4 * (Game1.tileSize + Game1.pixelZoom), y2, Game1.tileSize, Game1.tileSize), null, Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11591", new object[0]), Game1.mouseCursors, new Rectangle(193, 320, 16, 16), (float)Game1.pixelZoom, true) { myID = 10205, rightNeighborID = 10206, leftNeighborID = 10204, upNeighborID = 4 }); } if (Game1.player.hasDarkTalisman) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(num + 5 * (Game1.tileSize + Game1.pixelZoom), y2, Game1.tileSize, Game1.tileSize), null, Game1.content.LoadString("Strings\\Objects:DarkTalisman", new object[0]), Game1.mouseCursors, new Rectangle(225, 320, 16, 16), (float)Game1.pixelZoom, true) { myID = 10206, rightNeighborID = 10207, leftNeighborID = 10205, upNeighborID = 4 }); } if (Game1.player.hasMagicInk) { this.specialItems.Add(new ClickableTextureComponent("", new Rectangle(num + 6 * (Game1.tileSize + Game1.pixelZoom), y2, Game1.tileSize, Game1.tileSize), null, Game1.content.LoadString("Strings\\Objects:MagicInk", new object[0]), Game1.mouseCursors, new Rectangle(241, 320, 16, 16), (float)Game1.pixelZoom, true) { myID = 10207, leftNeighborID = 10206, upNeighborID = 4 }); } int num2 = 0; int num3 = (LocalizedContentManager.CurrentLanguageCode == LocalizedContentManager.LanguageCode.ru) ? (this.xPositionOnScreen + width - Game1.tileSize * 7 - Game1.tileSize * 3 / 4 + Game1.pixelZoom) : (this.xPositionOnScreen + IClickableMenu.borderWidth + IClickableMenu.spaceToClearTopBorder + 4 * Game1.tileSize - Game1.pixelZoom); int num4 = this.yPositionOnScreen + IClickableMenu.spaceToClearTopBorder + IClickableMenu.borderWidth - Game1.pixelZoom * 3; for (int i = 4; i < 10; i += 5) { for (int j = 0; j < 5; j++) { string text = ""; string text2 = ""; bool flag = false; int num5 = -1; switch (j) { case 0: flag = (Game1.player.FarmingLevel > i); num5 = Game1.player.getProfessionForSkill(0, i + 1); this.parseProfessionDescription(ref text, ref text2, LevelUpMenu.getProfessionDescription(num5)); break; case 1: flag = (Game1.player.MiningLevel > i); num5 = Game1.player.getProfessionForSkill(3, i + 1); this.parseProfessionDescription(ref text, ref text2, LevelUpMenu.getProfessionDescription(num5)); break; case 2: flag = (Game1.player.ForagingLevel > i); num5 = Game1.player.getProfessionForSkill(2, i + 1); this.parseProfessionDescription(ref text, ref text2, LevelUpMenu.getProfessionDescription(num5)); break; case 3: flag = (Game1.player.FishingLevel > i); num5 = Game1.player.getProfessionForSkill(1, i + 1); this.parseProfessionDescription(ref text, ref text2, LevelUpMenu.getProfessionDescription(num5)); break; case 4: flag = (Game1.player.CombatLevel > i); num5 = Game1.player.getProfessionForSkill(4, i + 1); this.parseProfessionDescription(ref text, ref text2, LevelUpMenu.getProfessionDescription(num5)); break; case 5: flag = (Game1.player.LuckLevel > i); num5 = Game1.player.getProfessionForSkill(5, i + 1); this.parseProfessionDescription(ref text, ref text2, LevelUpMenu.getProfessionDescription(num5)); break; } if (flag && (i + 1) % 5 == 0) { this.skillBars.Add(new ClickableTextureComponent(string.Concat(num5), new Rectangle(num2 + num3 - Game1.pixelZoom + i * (Game1.tileSize / 2 + Game1.pixelZoom), num4 + j * (Game1.tileSize / 2 + Game1.pixelZoom * 6), 14 * Game1.pixelZoom, 9 * Game1.pixelZoom), null, text, Game1.mouseCursors, new Rectangle(159, 338, 14, 9), (float)Game1.pixelZoom, true) { myID = ((i + 1 == 5) ? (100 + j) : (200 + j)), leftNeighborID = ((i + 1 == 5) ? j : (100 + j)), rightNeighborID = ((i + 1 == 5) ? (200 + j) : -1), downNeighborID = 10201 }); } } num2 += Game1.pixelZoom * 6; } for (int k = 0; k < this.skillBars.Count; k++) { if (k < this.skillBars.Count - 1 && Math.Abs(this.skillBars[k + 1].myID - this.skillBars[k].myID) < 50) { this.skillBars[k].downNeighborID = this.skillBars[k + 1].myID; this.skillBars[k + 1].upNeighborID = this.skillBars[k].myID; } } if (this.skillBars.Count > 1 && this.skillBars.Last <ClickableTextureComponent>().myID >= 200 && this.skillBars[this.skillBars.Count - 2].myID >= 200) { this.skillBars.Last <ClickableTextureComponent>().upNeighborID = this.skillBars[this.skillBars.Count - 2].myID; } for (int l = 0; l < 5; l++) { int num6 = l; if (num6 == 1) { num6 = 3; } else if (num6 == 3) { num6 = 1; } string text3 = ""; switch (num6) { case 0: if (Game1.player.FarmingLevel > 0) { text3 = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11592", new object[] { Game1.player.FarmingLevel }) + Environment.NewLine + Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11594", new object[] { Game1.player.FarmingLevel }); } break; case 1: if (Game1.player.FishingLevel > 0) { text3 = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11598", new object[] { Game1.player.FishingLevel }); } break; case 2: if (Game1.player.ForagingLevel > 0) { text3 = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11596", new object[] { Game1.player.ForagingLevel }); } break; case 3: if (Game1.player.MiningLevel > 0) { text3 = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11600", new object[] { Game1.player.MiningLevel }); } break; case 4: if (Game1.player.CombatLevel > 0) { text3 = Game1.content.LoadString("Strings\\StringsFromCSFiles:SkillsPage.cs.11602", new object[] { Game1.player.CombatLevel * 5 }); } break; } this.skillAreas.Add(new ClickableTextureComponent(string.Concat(num6), new Rectangle(num3 - Game1.tileSize * 2 - Game1.tileSize * 3 / 4, num4 + l * (Game1.tileSize / 2 + Game1.pixelZoom * 6), Game1.tileSize * 2 + Game1.pixelZoom * 5, 9 * Game1.pixelZoom), string.Concat(num6), text3, null, Rectangle.Empty, 1f, false) { myID = l, downNeighborID = ((l < 4) ? (l + 1) : 10201), upNeighborID = ((l > 0) ? (l - 1) : 12341), rightNeighborID = 100 + l }); } }