// Token: 0x060026C7 RID: 9927 RVA: 0x0008AE80 File Offset: 0x00089080 private static uint?smethod_8(Class177 district, Class464 cog, uint cogsRemaining) { if (!Struct40.dictionary_0.ContainsKey(district)) { return(null); } Dictionary <Class464, Dictionary <uint, uint> > dictionary = Struct40.dictionary_0[district]; if (!dictionary.ContainsKey(cog)) { return(null); } Dictionary <uint, uint> dictionary2 = dictionary[cog]; if (!dictionary2.ContainsKey(cogsRemaining)) { return(null); } uint num = dictionary2[cogsRemaining]; if (!Struct40.dictionary_1.ContainsKey(district)) { return(null); } Dictionary <uint, uint> dictionary3 = Struct40.dictionary_1[district]; if (!dictionary3.ContainsKey(cogsRemaining)) { return(null); } return(new uint?(dictionary3[cogsRemaining] - num)); }
// Token: 0x060027BC RID: 10172 RVA: 0x000933C0 File Offset: 0x000915C0 private void method_8(Class177 district, string cogID, uint cogsRemaining, bool skelecog, DateTime startTime) { if (district == null) { throw new ArgumentNullException("district"); } if (string.IsNullOrEmpty(cogID)) { throw new ArgumentNullException("cogID"); } if (!Class464.Cogs.ContainsKey(cogID)) { throw new ArgumentException("The cog type is invalid: " + cogID); } this.nullable_0 = null; uint?num; Struct40.smethod_1(district, Class464.Cogs[cogID], cogsRemaining, skelecog, startTime, out num, out startTime); startTime = startTime.ToLocalTime(); if (num != null) { this.method_6(startTime, num.Value); } else { this.lblTimeRemaining.Text = "Unknown"; } this.method_5(startTime); this.method_7(); }
// Token: 0x060026C6 RID: 9926 RVA: 0x0008ADC8 File Offset: 0x00088FC8 private static uint?smethod_7(Class177 district, Class464 cog, uint cogsRemaining) { uint?num; if (Struct40.dictionary_1.ContainsKey(district)) { if (Struct40.dictionary_1[district].ContainsKey(cogsRemaining)) { num = new uint?(Struct40.dictionary_1[district][cogsRemaining]); uint?num2 = Struct40.smethod_8(district, cog, cogsRemaining); if (num2 != null) { num -= num2.Value; } } else if (!Struct40.smethod_9(Struct40.dictionary_1[district], cogsRemaining, out num)) { num = null; } } else { num = null; } return(num); }
// 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); }
// Token: 0x060028DF RID: 10463 RVA: 0x00012B49 File Offset: 0x00010D49 public void method_0(Class177 d) { if (!this.hashSet_0.Contains(d)) { this.hashSet_0.Add(d); } }
// Token: 0x060028B0 RID: 10416 RVA: 0x00012987 File Offset: 0x00010B87 private static void smethod_5(Class142 window, Class177 district) { if (Class142.eventHandler_4 != null) { Class142.eventHandler_4(window, new EventArgs29(district)); } }
// Token: 0x060028B2 RID: 10418 RVA: 0x000129BB File Offset: 0x00010BBB private static void smethod_7(Class142 window, Class177 district) { if (Class142.eventHandler_3 != null) { Class142.eventHandler_3(window, new EventArgs37(district)); } }
// Token: 0x060026C9 RID: 9929 RVA: 0x0008AFD4 File Offset: 0x000891D4 public static bool smethod_10(Class177 district, out Struct40?invasion) { bool result; lock (Struct40.object_0) { invasion = null; if (!Struct40.dictionary_3.ContainsKey(district)) { result = false; } else { Struct40 @struct = Struct40.dictionary_3[district]; if (@struct.nullable_0 != null && DateTime.Now.ToUniversalTime() < @struct.nullable_0.Value) { Struct40.smethod_0(district, @struct, null); result = false; } else { invasion = new Struct40?(@struct); result = true; } } } return(result); }
// Token: 0x060027B5 RID: 10165 RVA: 0x00092FE0 File Offset: 0x000911E0 private void method_3(Class177 district, Struct26?state) { this.nullable_0 = null; this.nullable_1 = null; if (state != null && district != null) { this.nullable_1 = new TimeSpan?(DateTime.Now - state.Value.dateTime_0); this.ledDisplay.On = true; Struct26 value = state.Value; this.method_4(value.class464_0.enum132_0); this.lblCog.Text = value.class464_0.string_0; this.lblCogType.Text = value.class464_0.enum132_0.smethod_0(); this.lblTimeElapsed.Text = Invasions.smethod_0(this.nullable_1.Value); if (this.nullable_0 != null) { this.lblTimeRemaining.Text = Invasions.smethod_0(this.nullable_0.Value); } else { this.lblTimeRemaining.Text = "Unknown"; } this.timer_0.Enabled = true; } else { this.timer_0.Enabled = false; this.ledDisplay.On = false; this.method_4(Enum132.const_0); this.lblCog.Text = "None"; this.lblCogType.Text = "None"; this.lblTimeElapsed.Text = "00:00"; this.lblTimeRemaining.Text = "00:00"; } this.method_7(); }
// Token: 0x060027C9 RID: 10185 RVA: 0x00011FA3 File Offset: 0x000101A3 public Class430(Class177 district) { if (district == null) { throw new ArgumentNullException("district"); } this.Windows = new List <Class142>(); this.District = district; }
// Token: 0x060026C1 RID: 9921 RVA: 0x0008AAD8 File Offset: 0x00088CD8 public static void smethod_2(Class177 district) { lock (Struct40.object_0) { if (Struct40.dictionary_3.ContainsKey(district)) { Struct40.smethod_0(district, Struct40.dictionary_3[district], null); } } }
// Token: 0x060026C2 RID: 9922 RVA: 0x0008AB38 File Offset: 0x00088D38 public static void smethod_3(Class177 district) { lock (Struct40.object_0) { if (Struct40.dictionary_3.ContainsKey(district)) { Struct40.smethod_0(district, Struct40.dictionary_3[district], new DateTime?(DateTime.Now)); } } }
// Token: 0x060026C4 RID: 9924 RVA: 0x0008ACA8 File Offset: 0x00088EA8 private static uint smethod_5(Class177 district, uint cogsRemaining, Class464 cog) { uint num = 0U; List <uint> list = Struct40.dictionary_2[district][cog][cogsRemaining]; foreach (uint num2 in list) { num += num2; } num /= (uint)list.Count; return(num); }
private void method_13(object sender, EventArgs1 e) { lock (((ICollection)this.list_2).SyncRoot) { this.list_2.Clear(); foreach (uint shardID in e.Shards) { Class177 item = Class177.smethod_0(shardID); if (!this.list_2.Contains(item)) { this.list_2.Add(item); } } } Class142.smethod_0(); }
// Token: 0x060026C5 RID: 9925 RVA: 0x0008AD18 File Offset: 0x00088F18 private static uint smethod_6(Class177 district, uint cogsRemaining) { uint num = 0U; uint num2 = 0U; foreach (Dictionary <uint, List <uint> > dictionary in Struct40.dictionary_2[district].Values) { if (dictionary.ContainsKey(cogsRemaining)) { foreach (uint num3 in dictionary[cogsRemaining]) { num += num3; num2 += 1U; } } } num /= num2; return(num); }
// Token: 0x060026C0 RID: 9920 RVA: 0x0008A9F4 File Offset: 0x00088BF4 public static void smethod_1(Class177 district, Class464 cog, uint cogsRemaining, bool skelecog, DateTime startTime, out uint?estimatedDuration, out DateTime actualStartTime) { lock (Struct40.object_0) { if (Struct40.dictionary_3.ContainsKey(district)) { if (Struct40.dictionary_3[district].class464_0 == cog) { actualStartTime = Struct40.dictionary_3[district].dateTime_0; estimatedDuration = Struct40.dictionary_3[district].nullable_1; return; } Struct40.smethod_0(district, Struct40.dictionary_3[district], null); } Struct40 value = new Struct40(cog, cogsRemaining, skelecog, startTime.ToUniversalTime(), estimatedDuration = Struct40.smethod_7(district, cog, cogsRemaining)); actualStartTime = value.dateTime_0; Struct40.dictionary_3.Add(district, value); } }
// Token: 0x060027CF RID: 10191 RVA: 0x0009393C File Offset: 0x00091B3C public void method_0() { Class142 @class = this.object_0 as Class142; Invasions.Class430 class2 = this.invasions_0.cboDistricts.SelectedItem as Invasions.Class430; if (class2 != null) { Class177 district = class2.District; if (class2.Windows.IndexOf(@class) == 0 && district == @class.District) { switch (this.eventArgs31_0.InvasionState.enum97_0) { case Enum97.const_0: case Enum97.const_2: if (!this.invasions_0.class343_0.Enabled) { this.invasions_0.class343_0.Enabled = true; } this.invasions_0.method_3(@class.District, new Struct26?(this.eventArgs31_0.InvasionState)); this.invasions_0.method_8(@class.District, this.eventArgs31_0.InvasionState.class464_0.string_1, this.eventArgs31_0.InvasionState.uint_0, this.eventArgs31_0.InvasionState.bool_0, this.eventArgs31_0.InvasionState.dateTime_0); break; case (Enum97)1: break; case Enum97.const_1: this.invasions_0.method_3(null, null); this.invasions_0.method_9(@class.District); return; default: return; } } } }
// Token: 0x06002717 RID: 10007 RVA: 0x00011844 File Offset: 0x0000FA44 public EventArgs37(Class177 district) { this.District = district; }
// Token: 0x06002716 RID: 10006 RVA: 0x00011836 File Offset: 0x0000FA36 public EventArgs37(uint shardID) : this(Class177.smethod_0(shardID)) { }
private static void smethod_11(Class177 d) { Class142.list_0.Remove(d); }
// Token: 0x060027BD RID: 10173 RVA: 0x00011F36 File Offset: 0x00010136 private void method_9(Class177 district) { Struct40.smethod_3(district); }
// Token: 0x060028E0 RID: 10464 RVA: 0x00012B66 File Offset: 0x00010D66 public bool method_1(Class177 d) { return(!this.hashSet_0.Contains(d)); }
public abstract void Visit(Class177 c);
public override void Visit(Class177 c) { }
// Token: 0x060026C3 RID: 9923 RVA: 0x0008AB9C File Offset: 0x00088D9C private static void smethod_4(Class177 district, uint cogsRemaining, Class464 cog, out List <uint> timesCollection, out Dictionary <uint, uint> invasionTime, out Dictionary <uint, uint> invasionTimes) { Dictionary <Class464, Dictionary <uint, uint> > dictionary; if (Struct40.dictionary_0.ContainsKey(district)) { dictionary = Struct40.dictionary_0[district]; } else { Struct40.dictionary_0.Add(district, dictionary = new Dictionary <Class464, Dictionary <uint, uint> >()); } if (dictionary.ContainsKey(cog)) { invasionTime = dictionary[cog]; } else { Dictionary <Class464, Dictionary <uint, uint> > dictionary2 = dictionary; Dictionary <uint, uint> value; invasionTime = (value = new Dictionary <uint, uint>()); dictionary2.Add(cog, value); } if (Struct40.dictionary_1.ContainsKey(district)) { invasionTimes = Struct40.dictionary_1[district]; } else { Dictionary <Class177, Dictionary <uint, uint> > dictionary3 = Struct40.dictionary_1; Dictionary <uint, uint> value2; invasionTimes = (value2 = new Dictionary <uint, uint>()); dictionary3.Add(district, value2); } Dictionary <Class464, Dictionary <uint, List <uint> > > dictionary4; if (Struct40.dictionary_2.ContainsKey(district)) { dictionary4 = Struct40.dictionary_2[district]; } else { Struct40.dictionary_2.Add(district, dictionary4 = new Dictionary <Class464, Dictionary <uint, List <uint> > >()); } Dictionary <uint, List <uint> > dictionary5; if (dictionary4.ContainsKey(cog)) { dictionary5 = dictionary4[cog]; } else { dictionary4.Add(cog, dictionary5 = new Dictionary <uint, List <uint> >()); } if (dictionary5.ContainsKey(cogsRemaining)) { timesCollection = dictionary5[cogsRemaining]; return; } Dictionary <uint, List <uint> > dictionary6 = dictionary5; List <uint> value3; timesCollection = (value3 = new List <uint>()); dictionary6.Add(cogsRemaining, value3); }
// 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; } } }