private void DoGraphPage(Rect rect) { rect.yMin += 17f; GUI.BeginGroup(rect); Rect graphRect = new Rect(0f, 0f, rect.width, 450f); Rect legendRect = new Rect(0f, graphRect.yMax, rect.width / 2f, 40f); Rect rect2 = new Rect(0f, legendRect.yMax, rect.width, 40f); if (this.historyAutoRecorderGroup != null) { MainTabWindow_History.marks.Clear(); List <Tale> allTalesListForReading = Find.TaleManager.AllTalesListForReading; for (int i = 0; i < allTalesListForReading.Count; i++) { Tale tale = allTalesListForReading[i]; if (tale.def.type == TaleType.PermanentHistorical) { float x = (float)GenDate.TickAbsToGame(tale.date) / 60000f; MainTabWindow_History.marks.Add(new CurveMark(x, tale.ShortSummary, tale.def.historyGraphColor)); } } this.historyAutoRecorderGroup.DrawGraph(graphRect, legendRect, this.graphSection, MainTabWindow_History.marks); } Text.Font = GameFont.Small; float num = (float)Find.TickManager.TicksGame / 60000f; if (Widgets.ButtonText(new Rect(legendRect.xMin + legendRect.width, legendRect.yMin, 110f, 40f), "Last30Days".Translate(), true, false, true)) { this.graphSection = new FloatRange(Mathf.Max(0f, num - 30f), num); } if (Widgets.ButtonText(new Rect(legendRect.xMin + legendRect.width + 110f + 4f, legendRect.yMin, 110f, 40f), "Last100Days".Translate(), true, false, true)) { this.graphSection = new FloatRange(Mathf.Max(0f, num - 100f), num); } if (Widgets.ButtonText(new Rect(legendRect.xMin + legendRect.width + 228f, legendRect.yMin, 110f, 40f), "Last300Days".Translate(), true, false, true)) { this.graphSection = new FloatRange(Mathf.Max(0f, num - 300f), num); } if (Widgets.ButtonText(new Rect(legendRect.xMin + legendRect.width + 342f, legendRect.yMin, 110f, 40f), "AllDays".Translate(), true, false, true)) { this.graphSection = new FloatRange(0f, num); } if (Widgets.ButtonText(new Rect(rect2.x, rect2.y, 110f, 40f), "SelectGraph".Translate(), true, false, true)) { List <FloatMenuOption> list = new List <FloatMenuOption>(); List <HistoryAutoRecorderGroup> list2 = Find.History.Groups(); for (int j = 0; j < list2.Count; j++) { HistoryAutoRecorderGroup groupLocal = list2[j]; list.Add(new FloatMenuOption(groupLocal.def.LabelCap, delegate() { this.historyAutoRecorderGroup = groupLocal; }, MenuOptionPriority.Default, null, null, 0f, null, null)); } FloatMenu window = new FloatMenu(list, "SelectGraph".Translate(), false); Find.WindowStack.Add(window); PlayerKnowledgeDatabase.KnowledgeDemonstrated(ConceptDefOf.HistoryTab, KnowledgeAmount.Total); } GUI.EndGroup(); }
public float GetMaxHistoricalTaleDay() { float num = 0f; for (int i = 0; i < this.tales.Count; i++) { Tale tale = this.tales[i]; if (tale.def.type == TaleType.PermanentHistorical) { float num2 = (float)GenDate.TickAbsToGame(tale.date) / 60000f; if (num2 > num) { num = num2; } } } return(num); }