public static void Draw(Rect rect) { Rect rect2 = new Rect(rect); Text.Font = GameFont.Small; Rect viewRect = new Rect(0f, 0f, rect2.width - 16f, RecordReportUtility.listHeight); Widgets.BeginScrollView(rect2, ref RecordReportUtility.scrollPosition, viewRect, true); float num = 0f; string b = null; RecordReportUtility.mousedOverEntry = null; for (int i = 0; i < RecordReportUtility.cachedDrawEntries.Count; i++) { RecordDrawEntry ent = RecordReportUtility.cachedDrawEntries[i]; if (ent.CanRender) { if (ent.data.Parent.LabelCap != b) { Widgets.ListSeparator(ref num, viewRect.width, ent.data.Parent.LabelCap); b = ent.data.Parent.LabelCap; } num += ent.Draw(8f, num, viewRect.width - 8f, RecordReportUtility.selectedEntry == ent, delegate { RecordReportUtility.SelectEntry(ent, true); }, delegate { RecordReportUtility.mousedOverEntry = ent; }, RecordReportUtility.scrollPosition, rect2); } } RecordReportUtility.listHeight = num + 100f; Widgets.EndScrollView(); }
public override void PreOpen() { base.PreOpen(); this.tabs.Clear(); this.tabs.Add(new TabRecord("ColonistHistory.TabHome".Translate(), delegate() { MainTabWindow_ColonistHistory.curTab = MainTabWindow_ColonistHistory.TabType.Home; }, () => MainTabWindow_ColonistHistory.curTab == MainTabWindow_ColonistHistory.TabType.Home)); this.tabs.Add(new TabRecord("ColonistHistory.TabTable".Translate(), delegate() { MainTabWindow_ColonistHistory.curTab = MainTabWindow_ColonistHistory.TabType.Table; RefreshDrawEntries(); }, () => MainTabWindow_ColonistHistory.curTab == MainTabWindow_ColonistHistory.TabType.Table)); this.tabs.Add(new TabRecord("ColonistHistory.TabGraph".Translate(), delegate() { MainTabWindow_ColonistHistory.curTab = MainTabWindow_ColonistHistory.TabType.Graph; RefreshGraph(); }, () => MainTabWindow_ColonistHistory.curTab == MainTabWindow_ColonistHistory.TabType.Graph)); MainTabWindow_ColonistHistory.curPawn = CompRecorder.Colonists.First(); RecordReportUtility.Reset(); RefreshDrawEntries(); RefreshGraph(); Pawn pawn = MainTabWindow_ColonistHistory.curPawn; int lastIndex = CompRecorder.GetRecords(pawn).log.Count - 1; MainTabWindow_ColonistHistory.curDateIndex = Mathf.Clamp(MainTabWindow_ColonistHistory.curDateIndex, 0, lastIndex); }
public void RefreshDrawEntries() { if (!CurRecords.log.NullOrEmpty()) { RecordReportUtility.ResolveDrawEntries(this.CurData); } else { if (this.CompRecorder.Colonists.EnumerableNullOrEmpty()) { RecordReportUtility.Reset(); } else { MainTabWindow_ColonistHistory.curPawn = this.CompRecorder.Colonists.First(); RecordReportUtility.ResolveDrawEntries(this.CurData); } } }
private void DrawRecordInfoOnTable(Rect rect) { RecordReportUtility.Draw(rect); }