// Token: 0x060005C2 RID: 1474 RVA: 0x00028230 File Offset: 0x00026430 // Note: this type is marked as 'beforefieldinit'. static Class23() { Class202.ofdixO4zTbIfy(); Class23.dictionary_0 = new Dictionary <Type, Enum3> { { typeof(char), (Enum3)2 }, { typeof(char?), (Enum3)3 }, { typeof(bool), (Enum3)4 }, { typeof(bool?), (Enum3)5 }, { typeof(sbyte), (Enum3)6 }, { typeof(sbyte?), (Enum3)7 }, { typeof(short), (Enum3)8 }, { typeof(short?), (Enum3)9 }, { typeof(ushort), (Enum3)10 }, { typeof(ushort?), (Enum3)11 }, { typeof(int), (Enum3)12 }, { typeof(int?), (Enum3)13 }, { typeof(byte), (Enum3)14 }, { typeof(byte?), (Enum3)15 }, { typeof(uint), (Enum3)16 }, { typeof(uint?), (Enum3)17 }, { typeof(long), (Enum3)18 }, { typeof(long?), (Enum3)19 }, { typeof(ulong), (Enum3)20 }, { typeof(ulong?), (Enum3)21 }, { typeof(float), (Enum3)22 }, { typeof(float?), (Enum3)23 }, { typeof(double), (Enum3)24 }, { typeof(double?), (Enum3)25 }, { typeof(DateTime), (Enum3)26 }, { typeof(DateTime?), (Enum3)27 }, { typeof(DateTimeOffset), (Enum3)28 }, { typeof(DateTimeOffset?), (Enum3)29 }, { typeof(decimal), (Enum3)30 }, { typeof(decimal?), (Enum3)31 }, { typeof(Guid), (Enum3)32 }, { typeof(Guid?), (Enum3)33 }, { typeof(TimeSpan), (Enum3)34 }, { typeof(TimeSpan?), (Enum3)35 }, { typeof(BigInteger), (Enum3)36 }, { typeof(BigInteger?), (Enum3)37 }, { typeof(Uri), (Enum3)38 }, { typeof(string), (Enum3)39 }, { typeof(byte[]), (Enum3)40 }, { typeof(DBNull), (Enum3)41 } }; Class22[] array = new Class22[19]; int num = 0; Class22 @class = new Class22(); @class.Type = typeof(object); @class.method_1((Enum3)0); array[num] = @class; int num2 = 1; Class22 class2 = new Class22(); class2.Type = typeof(object); class2.method_1((Enum3)1); array[num2] = class2; int num3 = 2; Class22 class3 = new Class22(); class3.Type = typeof(object); class3.method_1((Enum3)41); array[num3] = class3; int num4 = 3; Class22 class4 = new Class22(); class4.Type = typeof(bool); class4.method_1((Enum3)4); array[num4] = class4; int num5 = 4; Class22 class5 = new Class22(); class5.Type = typeof(char); class5.method_1((Enum3)2); array[num5] = class5; int num6 = 5; Class22 class6 = new Class22(); class6.Type = typeof(sbyte); class6.method_1((Enum3)6); array[num6] = class6; int num7 = 6; Class22 class7 = new Class22(); class7.Type = typeof(byte); class7.method_1((Enum3)14); array[num7] = class7; int num8 = 7; Class22 class8 = new Class22(); class8.Type = typeof(short); class8.method_1((Enum3)8); array[num8] = class8; int num9 = 8; Class22 class9 = new Class22(); class9.Type = typeof(ushort); class9.method_1((Enum3)10); array[num9] = class9; int num10 = 9; Class22 class10 = new Class22(); class10.Type = typeof(int); class10.method_1((Enum3)12); array[num10] = class10; int num11 = 10; Class22 class11 = new Class22(); class11.Type = typeof(uint); class11.method_1((Enum3)16); array[num11] = class11; int num12 = 11; Class22 class12 = new Class22(); class12.Type = typeof(long); class12.method_1((Enum3)18); array[num12] = class12; int num13 = 12; Class22 class13 = new Class22(); class13.Type = typeof(ulong); class13.method_1((Enum3)20); array[num13] = class13; int num14 = 13; Class22 class14 = new Class22(); class14.Type = typeof(float); class14.method_1((Enum3)22); array[num14] = class14; int num15 = 14; Class22 class15 = new Class22(); class15.Type = typeof(double); class15.method_1((Enum3)24); array[num15] = class15; int num16 = 15; Class22 class16 = new Class22(); class16.Type = typeof(decimal); class16.method_1((Enum3)30); array[num16] = class16; int num17 = 16; Class22 class17 = new Class22(); class17.Type = typeof(DateTime); class17.method_1((Enum3)26); array[num17] = class17; int num18 = 17; Class22 class18 = new Class22(); class18.Type = typeof(object); class18.method_1((Enum3)0); array[num18] = class18; int num19 = 18; Class22 class19 = new Class22(); class19.Type = typeof(string); class19.method_1((Enum3)39); array[num19] = class19; Class23.class22_0 = array; Class23.class99_0 = new Class99 <Struct9 <Type, Type>, Func <object, object> >(new Func <Struct9 <Type, Type>, Func <object, object> >(Class23.smethod_5)); }
private void InternaPrelPlay() { if (!this.CheckNvidiaDriverVersion()) { return; } if (this.EmuConfiguration_0.AutoUpdate && new ComputerInfo().TotalPhysicalMemory >= 6442450944UL) { this.InstallCommunityShaders(); } this.Event_0 += (EventHandler)((sender, e) => Class27.smethod_0(this.gclass30_0 as GClass32)); this._modArgumentString = (string)null; GClass15 gclass15 = new GClass15((GClass32)this.gclass30_0); if (gclass15.InstalledMods.Count <= 0) { return; } Dictionary <string, ulong> counter = (Dictionary <string, ulong>)null; Dictionary <string, ulong> counter_mlc = (Dictionary <string, ulong>)null; try { counter = JsonConvert.DeserializeObject <Dictionary <string, ulong> >(System.IO.File.ReadAllText(this.PerformanceFile)); } catch { counter = new Dictionary <string, ulong>(); } try { counter_mlc = JsonConvert.DeserializeObject <Dictionary <string, ulong> >(System.IO.File.ReadAllText(this.PerformanceFileMlc)); } catch { counter_mlc = new Dictionary <string, ulong>(); } gclass15.method_7(); List <GClass16> gclass16List = gclass15.method_4(); Class22 mapper = new Class22(this.CurrentGamePath, counter, 134217728L); Class22 mapper_mlc = new Class22(System.IO.Path.Combine(this.Root_BIN_Path, "mlc01"), counter_mlc, 134217728L); foreach (Alphaleonis.Win32.Filesystem.FileInfo fileInfo in gclass15.List_0) { if (System.IO.File.Exists(this.Root_BIN_Path + "\\mlc01\\usr\\title\\00050000\\" + this.gclass30_0.TitleId.High.ToLower() + fileInfo.FullName.Substring(gclass15.String_0.Length))) { mapper_mlc.method_1("\\usr\\title\\00050000\\" + this.gclass30_0.TitleId.High.ToLower() + fileInfo.FullName.Substring(gclass15.String_0.Length), fileInfo.FullName); } else if (System.IO.File.Exists(this.CurrentGamePath + fileInfo.FullName.Substring(gclass15.String_0.Length))) { mapper.method_1(fileInfo.FullName.Substring(gclass15.String_0.Length), fileInfo.FullName); } else { mapper_mlc.method_1("\\usr\\title\\00050000\\" + this.gclass30_0.TitleId.High.ToLower() + fileInfo.FullName.Substring(gclass15.String_0.Length), fileInfo.FullName); mapper.method_1(fileInfo.FullName.Substring(gclass15.String_0.Length), fileInfo.FullName); } } foreach (GClass16 gclass16 in gclass16List) { string string_2 = gclass15.String_0 + gclass16.ArchiveRelativePath; mapper.method_1(gclass16.GameRelativePath, string_2); mapper_mlc.method_1("\\usr\\title\\00050000\\" + this.gclass30_0.TitleId.High.ToLower() + gclass16.GameRelativePath, string_2); } Task.Run((Action)(() => { foreach (KeyValuePair <string, ulong> keyValuePair in (IEnumerable <KeyValuePair <string, ulong> >)counter.OrderByDescending <KeyValuePair <string, ulong>, ulong>((Func <KeyValuePair <string, ulong>, ulong>)(x => x.Value))) { mapper.method_2(keyValuePair.Key); } foreach (KeyValuePair <string, ulong> keyValuePair in (IEnumerable <KeyValuePair <string, ulong> >)counter_mlc.OrderByDescending <KeyValuePair <string, ulong>, ulong>((Func <KeyValuePair <string, ulong>, ulong>)(x => x.Value))) { mapper_mlc.method_2(keyValuePair.Key); } mapper.method_0(); mapper_mlc.method_0(); })); System.IO.Directory.CreateDirectory(System.IO.Path.Combine(GClass88.DirectoryCache, "mods", "mount")); foreach (System.IO.DirectoryInfo enumerateDirectory in new System.IO.DirectoryInfo(System.IO.Path.Combine(GClass88.DirectoryCache, "mods", "mount")).EnumerateDirectories()) { try { try { Dokan.RemoveMountPoint(enumerateDirectory.FullName); } catch { } enumerateDirectory.Delete(true); } catch { } } string mount_point = System.IO.Path.Combine(GClass88.DirectoryCache, "mods", "mount", System.IO.Path.GetRandomFileName()); string mount_point_mlc = System.IO.Path.Combine(GClass88.DirectoryCache, "mods", "mount", System.IO.Path.GetRandomFileName()); GClass6.smethod_5(mount_point); System.IO.Directory.CreateDirectory(mount_point); System.IO.Directory.CreateDirectory(mount_point_mlc); this.Event_0 += (EventHandler)((sender, e) => { mapper.method_4(); mapper_mlc.method_4(); System.IO.File.WriteAllText(this.PerformanceFile, JsonConvert.SerializeObject((object)counter)); string performanceFileMlc = this.PerformanceFileMlc; IEnumerable <KeyValuePair <string, ulong> > source = counter_mlc.Where <KeyValuePair <string, ulong> >((Func <KeyValuePair <string, ulong>, bool>)(x => x.Key.Contains("\\USR\\TITLE\\00050000\\"))); Func <KeyValuePair <string, ulong>, string> func = (Func <KeyValuePair <string, ulong>, string>)(x => x.Key); Func <KeyValuePair <string, ulong>, string> keySelector; string contents = JsonConvert.SerializeObject((object)source.ToDictionary <KeyValuePair <string, ulong>, string, ulong>(keySelector, (Func <KeyValuePair <string, ulong>, ulong>)(x => x.Value))); System.IO.File.WriteAllText(performanceFileMlc, contents); Dokan.RemoveMountPoint(mount_point); Dokan.RemoveMountPoint(mount_point_mlc); GClass6.smethod_5(mount_point); GClass6.smethod_5(mount_point_mlc); }); Task.Run((Action)(() => mapper.Mount(mount_point, DokanOptions.WriteProtection, 10, (ILogger)null))); Task.Run((Action)(() => mapper_mlc.Mount(mount_point_mlc, DokanOptions.FixedDrive, 10, (ILogger)null))); Thread.Sleep(2000); this._modArgumentString = this.GenerateArguments(((IEnumerable <string>)System.IO.Directory.GetFiles(System.IO.Path.Combine(mount_point, "code") + "\\")).Where <string>((Func <string, bool>)(x => System.IO.Path.GetExtension(x) == ".rpx")).ToList <string>()[0], mount_point_mlc); }