コード例 #1
0
    // 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));
    }
コード例 #2
0
        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);
        }