// Token: 0x06001EE6 RID: 7910 RVA: 0x0006587C File Offset: 0x00063A7C
 public void method_5(string name, Class282 patch, Struct43?hashOverride = null, long?sizeOverride = null)
 {
     lock (((ICollection)this.FILES).SyncRoot)
     {
         Class186 @class = patch.method_0();
         if (hashOverride != null)
         {
             @class.ExpectedHash = hashOverride.Value;
         }
         if (sizeOverride != null)
         {
             @class.ExpectedSize = sizeOverride.Value;
         }
         if (this.FILES.ContainsKey(name))
         {
             this.FILES[name] = @class;
         }
         else
         {
             this.FILES.Add(name, @class);
         }
     }
 }
Пример #2
0
    internal Class273 method_6(ShapeBase A_0, EscherShapeKind A_1)
    {
        Class273 class2 = new Class273();

        if (A_0.IsGroup)
        {
            Class285 class3 = new Class285();
            class3.method_5(A_0.CoordOrigin);
            class3.method_7(A_0.CoordSize);
            class2.method_7().Add(class3);
        }
        Class279 class4 = new Class279();

        class4.method_5(A_0.Id);
        switch (A_0.ShapeType)
        {
        case ShapeType.OleObject:
        case ShapeType.OleControl:
            class4.method_31(ShapeType.Image);
            break;

        case ShapeType.Group:
            class4.method_31(ShapeType.NonPrimitive);
            break;

        default:
            class4.method_31(A_0.ShapeType);
            break;
        }
        class4.method_7(A_0.IsGroup);
        class4.method_25(A_1 == EscherShapeKind.Background);
        class4.method_9(A_1 == EscherShapeKind.Child);
        class4.method_23(A_0.IsConnector);
        class4.method_15(A_0.IsOle && !A_0.IsInline);
        class4.method_29(!A_0.IsGroup);
        class4.method_27(true);
        class4.method_33(A_0.FlipOrientation);
        class2.method_7().Add(class4);
        Class287 class8 = new Class287(false);
        Class287 class5 = new Class287(true);

        this.class930_0.method_23(A_0, class8.method_4(), class5.method_4(), class4.method_24());
        if (class8.method_4().method_2() > 0)
        {
            class2.method_7().Add(class8);
        }
        if (class5.method_4().method_2() > 0)
        {
            class2.method_7().Add(class5);
        }
        if (A_1 == EscherShapeKind.InlineReal)
        {
            Class267 class11 = new Class267();
            class11.method_5(EscherClientAnchorFlags.Inline);
            class2.method_7().Add(class11);
            return(class2);
        }
        if (!class4.method_24())
        {
            if (class4.method_8())
            {
                Class291 class6 = new Class291();
                Class265 class7 = Class265.smethod_3(A_0);
                class6.method_5((int)class7.double_0);
                class6.method_7((int)class7.double_1);
                class6.method_9((int)class7.double_2);
                class6.method_11((int)class7.double_3);
                class2.method_7().Add(class6);
            }
            else
            {
                Class267 class12 = new Class267();
                class2.method_7().Add(class12);
            }
        }
        Class280 class9 = new Class280();

        class9.method_5(1);
        class2.method_7().Add(class9);
        if (A_0.Txid != 0)
        {
            Class282 class10 = new Class282();
            class10.method_5(A_0.Txid);
            class2.method_7().Add(class10);
        }
        return(class2);
    }
        // Token: 0x06001EEC RID: 7916 RVA: 0x000664A8 File Offset: 0x000646A8
        public void method_11(string data)
        {
            Regex regex  = new Regex("^(FILE_){1}(?<fileName>.+){1}(\\.v){1}(?<fileVersion>\\d+\\.{1}\\d+){1}$");
            Regex regex2 = new Regex("^(PFILE_){1}(?<fileName>.+){1}(\\.v){1}(?<fileVersion>\\d+\\.{1}\\d+){1}(\\.pch){1}$");

            string[] array = data.Split(new char[]
            {
                '\r',
                '\n'
            }, StringSplitOptions.RemoveEmptyEntries);
            lock (((ICollection)this.FILES).SyncRoot)
            {
                this.FILES.Clear();
                foreach (string text in array)
                {
                    string[] array3 = text.Split(new char[]
                    {
                        '='
                    });
                    if (array3.Length == 2)
                    {
                        string key;
                        if ((key = array3[0]) != null)
                        {
                            if (Class529.dictionary_1 == null)
                            {
                                Class529.dictionary_1 = new Dictionary <string, int>(13)
                                {
                                    {
                                        "PATCHER_VERSION_STRING_SERVER",
                                        0
                                    },
                                    {
                                        "PATCHER_VERSION_STRING_SERVER_OSX",
                                        1
                                    },
                                    {
                                        "GAME_VERSION_TEXT",
                                        2
                                    },
                                    {
                                        "DOWNLOAD_PATCHER_CURRENT_VERSION",
                                        3
                                    },
                                    {
                                        "DOWNLOAD_PATCHER_CURRENT_VERSION_OSX",
                                        4
                                    },
                                    {
                                        "ACCOUNT_SERVER",
                                        5
                                    },
                                    {
                                        "GAME_SERVER",
                                        6
                                    },
                                    {
                                        "PANDA_DOWNLOAD_URL",
                                        7
                                    },
                                    {
                                        "PATCHER_BASE_URL_HEAVY_LIFTING",
                                        8
                                    },
                                    {
                                        "WEB_PAGE_LOGIN_RPC",
                                        9
                                    },
                                    {
                                        "REQUIRED_INSTALL_FILES",
                                        10
                                    },
                                    {
                                        "REQUIRED_INSTALL_FILES_OSX",
                                        11
                                    },
                                    {
                                        "REMOVE_OLD_FILE_LIST",
                                        12
                                    }
                                };
                            }
                            int num;
                            if (Class529.dictionary_1.TryGetValue(key, out num))
                            {
                                switch (num)
                                {
                                case 0:
                                    this.Properties.PATCHER_VERSION_STRING_SERVER = array3[1];
                                    goto IL_5EA;

                                case 1:
                                    this.Properties.PATCHER_VERSION_STRING_SERVER_OSX = array3[1];
                                    goto IL_5EA;

                                case 2:
                                    this.Properties.GAME_VERSION_TEXT = array3[1];
                                    goto IL_5EA;

                                case 3:
                                    this.Properties.DOWNLOAD_PATCHER_CURRENT_VERSION = array3[1];
                                    goto IL_5EA;

                                case 4:
                                    this.Properties.DOWNLOAD_PATCHER_CURRENT_VERSION_OSX = array3[1];
                                    goto IL_5EA;

                                case 5:
                                    this.Properties.ACCOUNT_SERVER = array3[1];
                                    goto IL_5EA;

                                case 6:
                                    this.Properties.GAME_SERVER = array3[1];
                                    goto IL_5EA;

                                case 7:
                                    this.Properties.PANDA_DOWNLOAD_URL = array3[1];
                                    try
                                    {
                                        lock (((ICollection)this.DownloadUrls).SyncRoot)
                                        {
                                            this.DownloadUrls.Insert(this.DownloadUrls.Count, new Uri(Class96.smethod_0(this.Properties.PANDA_DOWNLOAD_URL)));
                                        }
                                        goto IL_5EA;
                                    }
                                    catch (Exception ex)
                                    {
                                        ex.smethod_1(new object[]
                                        {
                                            array3[1]
                                        });
                                        goto IL_5EA;
                                    }
                                    break;

                                case 8:
                                    break;

                                case 9:
                                    this.Properties.WEB_PAGE_LOGIN_RPC = array3[1];
                                    goto IL_5EA;

                                case 10:
                                    this.Properties.REQUIRED_INSTALL_FILES = array3[1];
                                    goto IL_5EA;

                                case 11:
                                    this.Properties.REQUIRED_INSTALL_FILES_OSX = array3[1];
                                    goto IL_5EA;

                                case 12:
                                    this.Properties.REMOVE_OLD_FILE_LIST = array3[1];
                                    goto IL_5EA;

                                default:
                                    goto IL_3B8;
                                }
                                this.Properties.PATCHER_BASE_URL_HEAVY_LIFTING = array3[1];
                                string[] array4 = this.Properties.PATCHER_BASE_URL_HEAVY_LIFTING.Split(new char[]
                                {
                                    ';'
                                }, StringSplitOptions.RemoveEmptyEntries);
                                for (int j = array4.Length - 1; j >= 0; j--)
                                {
                                    try
                                    {
                                        lock (((ICollection)this.DownloadUrls).SyncRoot)
                                        {
                                            this.DownloadUrls.Insert(0, new Uri(Class96.smethod_0(array4[0])));
                                        }
                                    }
                                    catch (Exception ex2)
                                    {
                                        ex2.smethod_1(new object[]
                                        {
                                            array4[j]
                                        });
                                    }
                                }
                                goto IL_5EA;
                            }
                        }
IL_3B8:
                        if (array3[0].StartsWith("FILE"))
                        {
                            Match    match = regex.Match(array3[0]);
                            long     expectedSize;
                            Struct43 expectedHash;
                            if (match.Success && !match.Groups["fileName"].Value.Contains("OSX") && Class96.smethod_2(array3[1].Trim(), out expectedSize, out expectedHash))
                            {
                                if (!this.FILES.ContainsKey(match.Groups["fileName"].Value))
                                {
                                    this.FILES.Add(match.Groups["fileName"].Value, new Class186());
                                }
                                Class186 @class = this.FILES[match.Groups["fileName"].Value];
                                @class.Version      = match.Groups["fileVersion"].Value;
                                @class.ExpectedHash = expectedHash;
                                @class.ExpectedSize = expectedSize;
                            }
                        }
                        else if (array3[0].StartsWith("PFILE"))
                        {
                            Match    match = regex2.Match(array3[0]);
                            uint     expectedFileSize;
                            Struct43 expectedHash2;
                            uint     resultingFileSize;
                            Struct43 resultingHash;
                            if (match.Success && !match.Groups["fileName"].Value.Contains("OSX") && Class96.smethod_1(array3[1].Trim(), out expectedFileSize, out expectedHash2, out resultingFileSize, out resultingHash))
                            {
                                Class282 class2 = new Class282();
                                class2.ExpectedFileSize  = expectedFileSize;
                                class2.ExpectedHash      = expectedHash2;
                                class2.ResultingFileSize = resultingFileSize;
                                class2.ResultingHash     = resultingHash;
                                class2.Version           = match.Groups["fileVersion"].Value;
                                string value = match.Groups["fileName"].Value;
                                if (!this.FILES.ContainsKey(value))
                                {
                                    this.FILES.Add(value, new Class186());
                                }
                                lock (((ICollection)this.FILES[value].Patches).SyncRoot)
                                {
                                    this.FILES[value].Patches.Add(class2);
                                }
                            }
                        }
                    }
                    IL_5EA :;
                }
            }
        }
 public abstract void Visit(Class282 c);
 public override void Visit(Class282 c) { }