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;
            }
        }
Ejemplo n.º 3
0
 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");
 }