public AchievementCard(AchievementDef def, bool preUnlocked = false) { this.def = def; tab = def.tab; if (tab is null) { tab = AchievementTabHelper.MainTab; } uniqueHash = def.defName.GetHashCode(); unlocked = preUnlocked; tracker = (TrackerBase)Activator.CreateInstance(def.tracker.GetType(), new object[] { def.tracker }); tracker.cardAssigned = this.def.defName; }
public void ExposeData() { Scribe_Defs.Look(ref def, "def"); Scribe_Deep.Look(ref tracker, "tracker"); Scribe_Values.Look(ref unlocked, "unlocked", false); Scribe_Values.Look(ref devModeUnlocked, "devModeUnlocked", false); Scribe_Values.Look(ref dateUnlocked, "dateUnlocked", "Locked"); Scribe_Values.Look(ref uniqueHash, "uniqueHash"); if (Scribe.mode == LoadSaveMode.PostLoadInit) { tab = def.tab ?? AchievementTabHelper.MainTab; } }
public override void PostOpen() { base.PostOpen(); tabs.Clear(); foreach (AchievementTabDef localTabDef2 in DefDatabase <AchievementTabDef> .AllDefs) { AchievementTabDef localTabDef = localTabDef2; tabs.Add(new TabRecord(localTabDef.LabelCap, delegate() { CurTab = localTabDef; }, () => CurTab == localTabDef)); } if (CurTab is null) { CurTab = AchievementTabHelper.MainTab; } }
static AchievementTabHelper() { MainTab = DefDatabase <AchievementTabDef> .GetNamedSilentFail("Main"); }