Пример #1
0
 // Token: 0x060026BF RID: 9919 RVA: 0x0008A8D8 File Offset: 0x00088AD8
 private static void smethod_0(Class177 district, Struct40 invasion, DateTime?endTime)
 {
     if (endTime != null)
     {
         List <uint>             list;
         Dictionary <uint, uint> dictionary;
         Dictionary <uint, uint> dictionary2;
         Struct40.smethod_4(district, invasion.uint_0, invasion.class464_0, out list, out dictionary, out dictionary2);
         list.Add((uint)endTime.Value.ToUniversalTime().Subtract(invasion.dateTime_0).TotalSeconds);
         if (list.Count > Struct40.int_0)
         {
             list.RemoveAt(0);
         }
         if (dictionary.ContainsKey(invasion.uint_0))
         {
             dictionary[invasion.uint_0] = Struct40.smethod_5(district, invasion.uint_0, invasion.class464_0);
         }
         else
         {
             dictionary.Add(invasion.uint_0, Struct40.smethod_5(district, invasion.uint_0, invasion.class464_0));
         }
         if (dictionary2.ContainsKey(invasion.uint_0))
         {
             dictionary2[invasion.uint_0] = Struct40.smethod_6(district, invasion.uint_0);
         }
         else
         {
             dictionary2.Add(invasion.uint_0, Struct40.smethod_6(district, invasion.uint_0));
         }
     }
     Struct40.dictionary_3.Remove(district);
 }
Пример #2
0
 // Token: 0x060026CC RID: 9932 RVA: 0x0008B31C File Offset: 0x0008951C
 public static void smethod_13(Stream stream)
 {
     lock (Struct40.object_0)
     {
         Struct40.smethod_11();
         try
         {
             using (Stream3 stream2 = new Stream3(stream))
             {
                 using (BinaryReader binaryReader = new BinaryReader(stream2))
                 {
                     byte[] array = binaryReader.ReadBytes(Struct40.byte_0.Length);
                     if (!array.smethod_9(Struct40.byte_0))
                     {
                         throw new InvalidFileType(Struct40.byte_0, array);
                     }
                     int num = binaryReader.ReadInt32();
                     for (int i = 0; i < num; i++)
                     {
                         Class177 @class = Class177.smethod_0(binaryReader.ReadUInt32());
                         int      num2   = binaryReader.ReadInt32();
                         Dictionary <Class464, Dictionary <uint, uint> > dictionary;
                         if (Struct40.dictionary_0.ContainsKey(@class))
                         {
                             dictionary = Struct40.dictionary_0[@class];
                         }
                         else
                         {
                             Struct40.dictionary_0.Add(@class, dictionary = new Dictionary <Class464, Dictionary <uint, uint> >());
                         }
                         Dictionary <Class464, Dictionary <uint, List <uint> > > dictionary2;
                         if (Struct40.dictionary_2.ContainsKey(@class))
                         {
                             dictionary2 = Struct40.dictionary_2[@class];
                         }
                         else
                         {
                             Struct40.dictionary_2.Add(@class, dictionary2 = new Dictionary <Class464, Dictionary <uint, List <uint> > >());
                         }
                         Dictionary <uint, uint> dictionary3;
                         if (Struct40.dictionary_1.ContainsKey(@class))
                         {
                             dictionary3 = Struct40.dictionary_1[@class];
                         }
                         else
                         {
                             Struct40.dictionary_1.Add(@class, dictionary3 = new Dictionary <uint, uint>());
                         }
                         for (int j = 0; j < num2; j++)
                         {
                             Class464 key  = Class464.Cogs[binaryReader.ReadString()];
                             int      num3 = binaryReader.ReadInt32();
                             Dictionary <uint, uint> dictionary4;
                             if (dictionary.ContainsKey(key))
                             {
                                 dictionary4 = dictionary[key];
                             }
                             else
                             {
                                 dictionary.Add(key, dictionary4 = new Dictionary <uint, uint>());
                             }
                             Dictionary <uint, List <uint> > dictionary5;
                             if (dictionary2.ContainsKey(key))
                             {
                                 dictionary5 = dictionary2[key];
                             }
                             else
                             {
                                 dictionary2.Add(key, dictionary5 = new Dictionary <uint, List <uint> >());
                             }
                             for (int k = 0; k < num3; k++)
                             {
                                 uint        key2 = binaryReader.ReadUInt32();
                                 int         num4 = binaryReader.ReadInt32();
                                 List <uint> list;
                                 if (dictionary5.ContainsKey(key2))
                                 {
                                     list = dictionary5[key2];
                                 }
                                 else
                                 {
                                     dictionary5.Add(key2, list = new List <uint>());
                                 }
                                 uint num5 = 0U;
                                 for (int l = 0; l < num4; l++)
                                 {
                                     uint num6 = binaryReader.ReadUInt32();
                                     list.Add(num6);
                                     num5 += num6;
                                 }
                                 num5 /= (uint)num4;
                                 dictionary4.Add(key2, num5);
                             }
                             foreach (uint num7 in dictionary5.Keys)
                             {
                                 if (dictionary3.ContainsKey(num7))
                                 {
                                     dictionary3[num7] = Struct40.smethod_6(@class, num7);
                                 }
                                 else
                                 {
                                     dictionary3.Add(num7, Struct40.smethod_6(@class, num7));
                                 }
                             }
                         }
                     }
                 }
             }
         }
         catch
         {
             Struct40.smethod_11();
             throw;
         }
     }
 }