// Token: 0x06004BBB RID: 19387 RVA: 0x0017714C File Offset: 0x0017534C
 public void UpdateInstantiatedData(DSHeroPhantomNtf DS)
 {
     using (List <ProHeroPhantom> .Enumerator enumerator = DS.HeroPhantoms.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             ProHeroPhantom HP  = enumerator.Current;
             int            num = this.PhantomCollections.HeroPhantoms.FindIndex((HeroPhantom p) => p.ID == HP.ConfigId);
             if (num >= 0)
             {
                 HeroPhantom heroPhantom = this.PhantomCollections.HeroPhantoms[num];
                 using (List <ProHeroPhantomLevel> .Enumerator enumerator2 = HP.LevelsCleared.GetEnumerator())
                 {
                     while (enumerator2.MoveNext())
                     {
                         ProHeroPhantomLevel LevelCleared     = enumerator2.Current;
                         HeroPhantomLevel    heroPhantomLevel = heroPhantom.Levels.Find((HeroPhantomLevel l) => l.ID == LevelCleared.ConfigId);
                         if (heroPhantomLevel != null)
                         {
                             heroPhantomLevel.FirstClear = new DateTime(LevelCleared.FirstClear);
                             heroPhantomLevel.AchievementIdsFinished.AddRange(LevelCleared.AchievementsFinished);
                         }
                     }
                 }
             }
         }
     }
 }
 // Token: 0x0600723D RID: 29245 RVA: 0x001FA720 File Offset: 0x001F8920
 public void DeSerialize(DSHeroPhantomNtf ntf)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_DeSerializeDSHeroPhantomNtf_hotfix != null)
     {
         this.m_DeSerializeDSHeroPhantomNtf_hotfix.call(new object[]
         {
             this,
             ntf
         });
         return;
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     this.m_heroPhantomDS.ClearInitedData();
     this.m_heroPhantomDS.InitVersion((ushort)ntf.Version, (ushort)ntf.Version);
     this.m_heroPhantomDS.PhantomCollections.ConfigDataLoader = base.m_configDataLoader;
     this.m_heroPhantomDS.UpdateInstantiatedData(ntf);
 }
        // Token: 0x06004BBA RID: 19386 RVA: 0x00176F78 File Offset: 0x00175178
        public override object SerializeToClient()
        {
            DSHeroPhantomNtf dsheroPhantomNtf = new DSHeroPhantomNtf();

            dsheroPhantomNtf.Version = (uint)base.Version;
            if (this.PhantomCollections != null)
            {
                foreach (HeroPhantom heroPhantom in this.PhantomCollections.HeroPhantoms)
                {
                    if (heroPhantom.Levels.Exists((HeroPhantomLevel l) => l.Cleared))
                    {
                        ProHeroPhantom proHeroPhantom = new ProHeroPhantom
                        {
                            ConfigId = heroPhantom.ID
                        };
                        foreach (HeroPhantomLevel heroPhantomLevel in heroPhantom.Levels)
                        {
                            if (heroPhantomLevel.Cleared)
                            {
                                ProHeroPhantomLevel proHeroPhantomLevel = new ProHeroPhantomLevel
                                {
                                    ConfigId   = heroPhantomLevel.ID,
                                    FirstClear = heroPhantomLevel.FirstClear.Ticks
                                };
                                foreach (int item in heroPhantomLevel.AchievementIdsFinished)
                                {
                                    proHeroPhantomLevel.AchievementsFinished.Add(item);
                                }
                                proHeroPhantom.LevelsCleared.Add(proHeroPhantomLevel);
                            }
                        }
                        dsheroPhantomNtf.HeroPhantoms.Add(proHeroPhantom);
                    }
                }
            }
            return(dsheroPhantomNtf);
        }