private List <ItemParam> GetCurrTimeDropItems(List <SimpleDropTableList> drop_tbls, DateTime date_time)
        {
            List <string> stringList = new List <string>();
            DateTime      t1         = DateTime.MinValue;

            using (List <SimpleDropTableList> .Enumerator enumerator1 = drop_tbls.GetEnumerator())
            {
                while (enumerator1.MoveNext())
                {
                    SimpleDropTableList current1 = enumerator1.Current;
                    if (current1.smp_drp_tbls.Count != 0)
                    {
                        string[] strArray1 = (string[])null;
                        string[] strArray2 = (string[])null;
                        using (List <SimpleDropTableParam> .Enumerator enumerator2 = current1.smp_drp_tbls.GetEnumerator())
                        {
                            while (enumerator2.MoveNext())
                            {
                                SimpleDropTableParam current2 = enumerator2.Current;
                                if (!current2.IsSuffix)
                                {
                                    strArray1 = current2.dropList;
                                }
                                else if (current2.IsAvailablePeriod(date_time) && (strArray2 == null || 0 < DateTime.Compare(t1, current2.beginAt)))
                                {
                                    strArray2 = current2.dropList;
                                    t1        = current2.beginAt;
                                }
                            }
                        }
                        string[] strArray3 = strArray2 ?? strArray1;
                        if (strArray3 != null)
                        {
                            stringList.AddRange((IEnumerable <string>)strArray3);
                        }
                    }
                }
            }
            if (stringList.Count == 0)
            {
                return((List <ItemParam>)null);
            }
            List <ItemParam> itemParamList = new List <ItemParam>();

            for (int index = 0; index < stringList.Count; ++index)
            {
                ItemParam itemParam = MonoSingleton <GameManager> .Instance.GetItemParam(stringList[index]);

                itemParamList.Add(itemParam);
            }
            return(itemParamList);
        }
 public void Deserialize(JSON_QuestDropParam json)
 {
     this.mSimpleDropTables.Clear();
     this.mSimpleLocalMaps.Clear();
     this.mSimpleQuestDrops.Clear();
     if (json.simpleDropTable != null)
     {
         for (int index = 0; index < json.simpleDropTable.Length; ++index)
         {
             SimpleDropTableParam simpleDropTableParam = new SimpleDropTableParam();
             if (simpleDropTableParam.Deserialize(json.simpleDropTable[index]))
             {
                 this.mSimpleDropTables.Add(simpleDropTableParam);
             }
         }
     }
     if (json.simpleLocalMaps != null)
     {
         for (int index = 0; index < json.simpleLocalMaps.Length; ++index)
         {
             SimpleLocalMapsParam simpleLocalMapsParam = new SimpleLocalMapsParam();
             if (simpleLocalMapsParam.Deserialize(json.simpleLocalMaps[index]))
             {
                 this.mSimpleLocalMaps.Add(simpleLocalMapsParam);
             }
         }
     }
     if (json.simpleQuestDrops != null)
     {
         for (int index = 0; index < json.simpleQuestDrops.Length; ++index)
         {
             SimpleQuestDropParam simpleQuestDropParam = new SimpleQuestDropParam();
             if (simpleQuestDropParam.Deserialize(json.simpleQuestDrops[index]))
             {
                 this.mSimpleQuestDrops.Add(simpleQuestDropParam);
             }
         }
     }
     this.mIsLoaded = true;
 }
        private List <BattleCore.DropItemParam> GetCurrTimeDropItemParams(List <SimpleDropTableList> drop_tbls, DateTime date_time)
        {
            List <string> stringList1 = new List <string>();
            List <string> stringList2 = new List <string>();
            DateTime      t1          = DateTime.MinValue;

            using (List <SimpleDropTableList> .Enumerator enumerator1 = drop_tbls.GetEnumerator())
            {
                while (enumerator1.MoveNext())
                {
                    SimpleDropTableList current1 = enumerator1.Current;
                    if (current1.smp_drp_tbls.Count != 0)
                    {
                        string[] strArray1 = (string[])null;
                        string[] strArray2 = (string[])null;
                        string[] strArray3 = (string[])null;
                        string[] strArray4 = (string[])null;
                        using (List <SimpleDropTableParam> .Enumerator enumerator2 = current1.smp_drp_tbls.GetEnumerator())
                        {
                            while (enumerator2.MoveNext())
                            {
                                SimpleDropTableParam current2 = enumerator2.Current;
                                if (!current2.IsSuffix)
                                {
                                    strArray1 = current2.dropList;
                                    strArray2 = current2.dropcards;
                                }
                                else if (current2.IsAvailablePeriod(date_time) && (strArray3 == null || 0 < DateTime.Compare(t1, current2.beginAt)) && (strArray4 == null || 0 < DateTime.Compare(t1, current2.beginAt)))
                                {
                                    strArray3 = current2.dropList;
                                    strArray4 = current2.dropcards;
                                    t1        = current2.beginAt;
                                }
                            }
                        }
                        string[] strArray5 = strArray3 ?? strArray1;
                        if (strArray5 != null)
                        {
                            stringList1.AddRange((IEnumerable <string>)strArray5);
                        }
                        string[] strArray6 = strArray4 ?? strArray2;
                        if (strArray6 != null)
                        {
                            stringList2.AddRange((IEnumerable <string>)strArray6);
                        }
                    }
                }
            }
            if (stringList1.Count == 0 && stringList2.Count == 0)
            {
                return((List <BattleCore.DropItemParam>)null);
            }
            List <BattleCore.DropItemParam> dropItemParamList = new List <BattleCore.DropItemParam>();

            for (int index = 0; index < stringList1.Count; ++index)
            {
                BattleCore.DropItemParam dropItemParam = new BattleCore.DropItemParam(MonoSingleton <GameManager> .Instance.GetItemParam(stringList1[index]));
                dropItemParamList.Add(dropItemParam);
            }
            for (int index = 0; index < stringList2.Count; ++index)
            {
                BattleCore.DropItemParam dropItemParam = new BattleCore.DropItemParam(MonoSingleton <GameManager> .Instance.MasterParam.GetConceptCardParam(stringList2[index]));
                dropItemParamList.Add(dropItemParam);
            }
            return(dropItemParamList);
        }