示例#1
0
 public void addBar()
 {
     CustomSelfDrawPanel.CSDFill control = new CustomSelfDrawPanel.CSDFill {
         Position  = new Point(this.curXPos + 3, this.curYPos + 3),
         FillColor = Color.FromArgb(0x60, 0, 0, 0),
         Size      = new Size(6, 2)
     };
     this.background.addControl(control);
     this.currentControls.Add(control);
     this.curYPos += 8;
 }
示例#2
0
 private void updateCurrentControls(int width)
 {
     foreach (CustomSelfDrawPanel.CSDControl control in this.currentControls)
     {
         if (control.GetType() == typeof(CustomSelfDrawPanel.CSDButton))
         {
             CustomSelfDrawPanel.CSDButton button = (CustomSelfDrawPanel.CSDButton)control;
             button.Size = new Size(width, button.Height);
         }
         else if (control.GetType() == typeof(CustomSelfDrawPanel.CSDFill))
         {
             CustomSelfDrawPanel.CSDFill fill = (CustomSelfDrawPanel.CSDFill)control;
             fill.Size = new Size((width + 4) - 10, fill.Height);
         }
     }
     this.currentControls.Clear();
     this.maxWidth += width + 8;
 }
        private int RefreshCards(CustomSelfDrawPanel.CSDImage content, List<CustomSelfDrawPanel.UICard> list, int width)
        {
            int[] numArray = null;
            if (GameEngine.Instance.World.lastUserCardSearchCriteria != null)
            {
                switch (GameEngine.Instance.World.lastUserCardSearchCriteria.newCardCategoryFilter)
                {
                    case 0x1001:
                        numArray = CardTypes.newCategories_ApplesOrder;
                        break;

                    case 0x1002:
                        numArray = CardTypes.newCategories_CheeseOrder;
                        break;

                    case 0x1003:
                        numArray = CardTypes.newCategories_MeatOrder;
                        break;

                    case 0x1004:
                        numArray = CardTypes.newCategories_BreadOrder;
                        break;

                    case 0x1005:
                        numArray = CardTypes.newCategories_VegOrder;
                        break;

                    case 0x1006:
                        numArray = CardTypes.newCategories_FishOrder;
                        break;

                    case 0x1007:
                        numArray = CardTypes.newCategories_AleOrder;
                        break;

                    case 0x2001:
                        numArray = CardTypes.newCategories_WoodOrder;
                        break;

                    case 0x2002:
                        numArray = CardTypes.newCategories_StoneOrder;
                        break;

                    case 0x2003:
                        numArray = CardTypes.newCategories_IronOrder;
                        break;

                    case 0x2004:
                        numArray = CardTypes.newCategories_PitchOrder;
                        break;

                    case 0x4001:
                        numArray = CardTypes.newCategories_VenisonOrder;
                        break;

                    case 0x4002:
                        numArray = CardTypes.newCategories_FurnitureOrder;
                        break;

                    case 0x4003:
                        numArray = CardTypes.newCategories_MetalwareOrder;
                        break;

                    case 0x4004:
                        numArray = CardTypes.newCategories_ClothesOrder;
                        break;

                    case 0x4005:
                        numArray = CardTypes.newCategories_WineOrder;
                        break;

                    case 0x4006:
                        numArray = CardTypes.newCategories_SaltOrder;
                        break;

                    case 0x4007:
                        numArray = CardTypes.newCategories_SpicesOrder;
                        break;

                    case 0x4008:
                        numArray = CardTypes.newCategories_SilkOrder;
                        break;

                    case 0x8001:
                        numArray = CardTypes.newCategories_BowsOrder;
                        break;

                    case 0x8002:
                        numArray = CardTypes.newCategories_PikesOrder;
                        break;

                    case 0x8003:
                        numArray = CardTypes.newCategories_ArmourOrder;
                        break;

                    case 0x8004:
                        numArray = CardTypes.newCategories_SwordsOrder;
                        break;

                    case 0x8005:
                        numArray = CardTypes.newCategories_CatapultsOrder;
                        break;

                    case 0x10001:
                        numArray = CardTypes.newCategories_CastleConOrder;
                        break;

                    case 0x10002:
                        numArray = CardTypes.newCategories_DefencesOrder;
                        break;

                    case 0x10003:
                        numArray = CardTypes.newCategories_WallsOrder;
                        break;

                    case 0x10004:
                        numArray = CardTypes.newCategories_KnightsOrder;
                        break;

                    case 0x20001:
                        numArray = CardTypes.newCategories_ScoutingOrder;
                        break;

                    case 0x20002:
                        numArray = CardTypes.newCategories_SpeedOrder;
                        break;

                    case 0x20003:
                        numArray = CardTypes.newCategories_RecruitmentOrder;
                        break;

                    case 0x20004:
                        numArray = CardTypes.newCategories_TroopsOrder;
                        break;

                    case 0x20005:
                        numArray = CardTypes.newCategories_DiplomacyOrder;
                        break;

                    case 0x40001:
                        numArray = CardTypes.newCategories_TradeOrder;
                        break;

                    case 0x40002:
                        numArray = CardTypes.newCategories_ReligionOrder;
                        break;

                    case 0x40003:
                        numArray = CardTypes.newCategories_HonourOrder;
                        break;

                    case 0x40004:
                        numArray = CardTypes.newCategories_GoldOrder;
                        break;

                    case 0x40005:
                        numArray = CardTypes.newCategories_PopOrder;
                        break;

                    case 0x40006:
                        numArray = CardTypes.newCategories_ResearchOrder;
                        break;

                    case 0x40007:
                        numArray = CardTypes.newCategories_CapacityOrder;
                        break;

                    case 0x40008:
                        numArray = CardTypes.newCategories_ConstructionOrder;
                        break;
                }
            }
            if (GameEngine.Instance.World.getTutorialStage() == 8)
            {
                list.Sort(CustomSelfDrawPanel.UICard.TUT2cardsNameComparer);
            }
            else if (GameEngine.Instance.World.getTutorialStage() == 12)
            {
                list.Sort(CustomSelfDrawPanel.UICard.TUTcardsNameComparer);
            }
            else if (this.sortByMode == 0)
            {
                list.Sort(CustomSelfDrawPanel.UICard.cardsNameComparer);
            }
            else if (this.sortByMode == 1)
            {
                list.Sort(CustomSelfDrawPanel.UICard.cardsIDComparer);
            }
            else if (this.sortByMode == 2)
            {
                list.Sort(CustomSelfDrawPanel.UICard.cardsNameComparerReverse);
            }
            else if (this.sortByMode == 3)
            {
                list.Sort(CustomSelfDrawPanel.UICard.cardsIDComparerReverse);
            }
            else if (this.sortByMode == 7)
            {
                list.Sort(CustomSelfDrawPanel.UICard.cardsQuantityComparer);
            }
            else if (this.sortByMode == 8)
            {
                list.Sort(CustomSelfDrawPanel.UICard.cardsQuantityComparerReverse);
            }
            int num = GameEngine.Instance.World.getRank() + 1;
            content.clearDirectControlsOnly();
            foreach (CustomSelfDrawPanel.UICard card in this.dummyCards)
            {
                card.clearControls();
            }
            this.dummyCards.Clear();
            int num2 = 0;
            int x = 0x10;
            int y = 0;
            if (this.currentCardSection == 0)
            {
                x = 0;
            }
            if (numArray != null)
            {
                this.sortBack.Visible = false;
                this.AvailablePanelContent.ClipRect = new Rectangle(this.AvailablePanelContent.ClipRect.X, this.AvailablePanelContent.ClipRect.Y, this.AvailablePanelContent.ClipRect.Width, this.AvailablePanel.Height - (BorderPadding * 2));
                int num5 = 0;
                int num6 = -1;
                for (int i = 0; i < numArray.Length; i += 3)
                {
                    if (numArray[i + 2] != num6)
                    {
                        int cardType = numArray[i];
                        int num9 = numArray[i + 1] * 0xb2;
                        int num10 = (numArray[i + 2] - num5) * 0xed;
                        bool flag = false;
                        CustomSelfDrawPanel.UICard control = null;
                        foreach (CustomSelfDrawPanel.UICard card3 in list)
                        {
                            if (CardTypes.getCardType(card3.Definition.id) == cardType)
                            {
                                flag = true;
                                control = card3;
                            }
                        }
                        CardTypes.CardDefinition def = CardTypes.getCardDefinition(cardType);
                        if ((!flag && (((def.cardRank <= 0) || (def.cardRarity <= 0)) || (def.available != 1))) && (num9 == 0))
                        {
                            bool flag2 = false;
                            int num11 = CardTypes.getCardType(cardType);
                            if ((num11 >= 0xbd7) && (num11 <= 0xbf5))
                            {
                                for (int j = 0; j < numArray.Length; j += 3)
                                {
                                    if (((numArray[j + 2] == numArray[i + 2]) && (cardType != numArray[j])) && (CardTypes.getCardDefinition(numArray[j]).available == 1))
                                    {
                                        numArray[j + 1]--;
                                        flag2 = true;
                                    }
                                }
                            }
                            if (!flag2)
                            {
                                num5++;
                                num6 = numArray[i + 2];
                                continue;
                            }
                        }
                        if ((num10 + 0xed) > num2)
                        {
                            num2 = num10 + 0xed;
                        }
                        if (flag)
                        {
                            control.Position = new Point(num9, num10);
                            content.addControl(control);
                            if ((num < control.Definition.cardRank) || (control.UserIDList.Count == 0))
                            {
                                control.rankLabel.Color = ARGBColors.Red;
                                control.Hilight(ARGBColors.Gray);
                            }
                            else
                            {
                                control.rankLabel.Color = ARGBColors.White;
                                control.Hilight(ARGBColors.White);
                            }
                            if (control.cardCount > 1)
                            {
                                control.countLabel.Text = control.cardCount.ToString();
                                if (control.cardCount >= 100)
                                {
                                    control.countLabel.Font = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
                                }
                                else
                                {
                                    control.countLabel.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
                                }
                            }
                        }
                        else if (((def.cardRank > 0) && (def.cardRarity > 0)) && (def.available == 1))
                        {
                            CustomSelfDrawPanel.UICard card4 = BuyCardsPanel.makeUICard(def, RemoteServices.Instance.UserID, 0x2710);
                            card4.Position = new Point(num9, num10);
                            content.addControl(card4);
                            CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
                                FillColor = Color.FromArgb(170, 0, 0, 0),
                                Alpha = 0.2f,
                                Position = new Point(2, 1),
                                Size = new Size((card4.Size.Width - 2) - 4, (card4.Size.Height - 1) - 5)
                            };
                            card4.addControl(fill);
                            this.dummyCards.Add(card4);
                            card4.CustomTooltipID = 0x2775;
                            card4.CustomTooltipData = cardType;
                            CustomSelfDrawPanel.CSDLabel label = new CustomSelfDrawPanel.CSDLabel();
                            if (def.cardPoints > 0)
                            {
                                label.Text = SK.Text("CARDS_GetCard", "Get Card");
                                label.Data = def.id;
                                label.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.linkToBuy));
                            }
                            else
                            {
                                label.Text = SK.Text("CARDS_No_Cards", "No Cards");
                            }
                            label.Position = new Point(num9 + 3, num10 + 5);
                            label.Size = new Size(0x9d, 0xd9);
                            label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
                            label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
                            label.Color = ARGBColors.White;
                            label.CustomTooltipID = 0x2775;
                            label.CustomTooltipData = cardType;
                            content.addControl(label);
                        }
                    }
                }
            }
            else
            {
                if (!this.usingRecentFilter)
                {
                    this.sortBack.Visible = true;
                }
                this.AvailablePanelContent.ClipRect = new Rectangle(this.AvailablePanelContent.ClipRect.X, this.AvailablePanelContent.ClipRect.Y, this.AvailablePanelContent.ClipRect.Width, (this.AvailablePanel.Height - (BorderPadding * 2)) - 0x18);
                int num13 = 0;
                int num14 = 0;
                foreach (CustomSelfDrawPanel.UICard card5 in list)
                {
                    card5.Position = new Point(x, y);
                    content.addControl(card5);
                    num14 = y;
                    if (x > width)
                    {
                        x = 0x10;
                        if (this.currentCardSection == 0)
                        {
                            x = 0;
                        }
                        if (!this.compressedCards)
                        {
                            y += card5.Height + 8;
                        }
                        else
                        {
                            y += 0x3a;
                        }
                    }
                    else
                    {
                        x += card5.Width + 12;
                    }
                    if (this.compressedCards && (num13 < (list.Count - 4)))
                    {
                        card5.ClipRect = new Rectangle(0, 0, card5.Width, 60);
                        card5.bigEffect.Visible = false;
                        card5.rankLabel.Visible = false;
                    }
                    else
                    {
                        card5.ClipRect = Rectangle.Empty;
                        card5.bigEffect.Visible = true;
                        card5.rankLabel.Visible = true;
                    }
                    if (this.compressedCards)
                    {
                        CustomSelfDrawPanel.CSDLine line = new CustomSelfDrawPanel.CSDLine {
                            Position = new Point(card5.Position.X + 3, card5.Position.Y + 1),
                            Size = new Size(card5.Width - 7, 0),
                            LineColor = Color.FromArgb(0x80, ARGBColors.Black)
                        };
                        content.addControl(line);
                    }
                    num13++;
                    if ((num < card5.Definition.cardRank) || (card5.UserIDList.Count == 0))
                    {
                        card5.rankLabel.Color = ARGBColors.Red;
                        card5.Hilight(ARGBColors.Gray);
                    }
                    else
                    {
                        card5.rankLabel.Color = ARGBColors.White;
                        card5.Hilight(ARGBColors.White);
                    }
                    if (card5.cardCount > 1)
                    {
                        card5.countLabel.Text = card5.cardCount.ToString();
                        if (card5.cardCount >= 100)
                        {
                            card5.countLabel.Font = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
                        }
                        else
                        {
                            card5.countLabel.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
                        }
                    }
                }
                if (list.Count > 0)
                {
                    num2 = (num14 + list[0].Height) + 8;
                }
            }
            disableCardsInPlay(this.UICardList);
            content.invalidate();
            return num2;
        }
 public void init(bool createMode)
 {
     CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate overDelegate = null;
     CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate leaveDelegate = null;
     CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate delegate4 = null;
     CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate delegate5 = null;
     CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate newDelegate = null;
     CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate delegate7 = null;
     CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate delegate8 = null;
     this.m_createMode = createMode;
     base.clearControls();
     base.Controls.Clear();
     this.BackColor = ARGBColors.White;
     int num = 0;
     int num2 = 0;
     if (!Program.steamActive)
     {
         num2 = -15;
     }
     else if (!this.m_createMode)
     {
         num2 = 30;
     }
     if (Program.gamersFirstInstall)
     {
         this.TextEmail = SK.Text("SIGNUP_GF_Email", "GamersFirst Gamer ID / Email");
         this.TextUsername = SK.Text("SIGNUP_GF_Username", "Choose a Stronghold Kingdoms Username");
     }
     else if (Program.arcInstall)
     {
         this.TextEmail = SK.Text("SIGNUP_Arc_Email", "Arc ID");
         this.TextUsername = SK.Text("SIGNUP_GF_Username", "Choose a Stronghold Kingdoms Username");
     }
     else if (this.m_createMode)
     {
         num = -20;
     }
     int x = 200;
     int num4 = (100 + num2) + num;
     int num5 = 0x17;
     int num6 = 14;
     int height = 12;
     this.HeaderTitle = new CustomSelfDrawPanel.CSDImage();
     if (this.m_createMode)
     {
         this.HeaderTitle.Image = this.HeaderImage;
     }
     else
     {
         this.HeaderTitle.Image = this.HeaderTranferImage;
     }
     this.HeaderTitle.Position = new Point((base.Width - this.HeaderTitle.Width) / 2, 0x20 + num2);
     this.lblEmail = new CustomSelfDrawPanel.CSDLabel();
     this.lblEmail.Position = new Point(x, num4 - 10);
     this.lblEmail.Text = this.TextEmail;
     this.lblEmail.Size = new Size(300, height);
     this.lblEmail.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.txtEmail = new TextBox();
     this.txtEmail.ForeColor = ARGBColors.Black;
     this.txtEmail.BackColor = ARGBColors.White;
     this.txtEmail.Location = new Point(x, (num4 + num6) - 10);
     this.txtEmail.Size = new Size(300, this.txtEmail.Height);
     this.fillEmailValid = new CustomSelfDrawPanel.CSDFill();
     this.fillEmailValid.Position = new Point((x + 300) + 5, this.txtEmail.Location.Y);
     this.fillEmailValid.Size = new Size(this.txtEmail.Height, this.txtEmail.Height);
     this.fillEmailValid.FillColor = ARGBColors.Red;
     if (this.m_createMode)
     {
         this.lblEmailconfirm = new CustomSelfDrawPanel.CSDLabel();
         this.lblEmailconfirm.Position = new Point(this.txtEmail.Location.X, this.txtEmail.Location.Y + num5);
         this.lblEmailconfirm.Text = this.TextEmailConfirm;
         this.lblEmailconfirm.Size = new Size(300, height);
         this.lblEmailconfirm.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
         this.txtEmailconfirm = new TextBox();
         this.txtEmailconfirm.ForeColor = ARGBColors.Black;
         this.txtEmailconfirm.BackColor = ARGBColors.White;
         this.txtEmailconfirm.Location = new Point(this.lblEmailconfirm.Position.X, this.lblEmailconfirm.Position.Y + num6);
         this.txtEmailconfirm.Size = new Size(300, this.txtEmailconfirm.Height);
         this.fillEmailConfirmValid = new CustomSelfDrawPanel.CSDFill();
         this.fillEmailConfirmValid.Position = new Point((x + 300) + 5, this.txtEmailconfirm.Location.Y);
         this.fillEmailConfirmValid.Size = new Size(this.txtEmailconfirm.Height, this.txtEmailconfirm.Height);
         this.fillEmailConfirmValid.FillColor = ARGBColors.Red;
         if (Program.gamersFirstInstall || Program.arcInstall)
         {
             this.lblEmailconfirm.Visible = false;
             this.txtEmailconfirm.Visible = false;
             this.fillEmailConfirmValid.Visible = false;
             this.txtEmail.Visible = false;
             this.lblEmail.Visible = false;
         }
         this.lblUsername = new CustomSelfDrawPanel.CSDLabel();
         this.lblUsername.Position = new Point(this.txtEmailconfirm.Location.X, this.txtEmailconfirm.Location.Y + num5);
         this.lblUsername.Text = this.TextUsername;
         this.lblUsername.Size = new Size(300, height);
         this.lblUsername.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
         this.txtUsername = new TextBox();
         this.txtUsername.ForeColor = ARGBColors.Black;
         this.txtUsername.BackColor = ARGBColors.White;
         this.txtUsername.Location = new Point(this.lblUsername.Position.X, this.lblUsername.Position.Y + num6);
         this.txtUsername.Size = new Size(300, this.txtUsername.Height);
         this.fillUsernameValid = new CustomSelfDrawPanel.CSDFill();
         this.fillUsernameValid.Position = new Point((x + 300) + 5, this.txtUsername.Location.Y);
         this.fillUsernameValid.Size = new Size(this.txtUsername.Height, this.txtUsername.Height);
         this.fillUsernameValid.FillColor = ARGBColors.Red;
     }
     this.lblPassword = new CustomSelfDrawPanel.CSDLabel();
     if (this.m_createMode)
     {
         this.lblPassword.Position = new Point(this.txtUsername.Location.X, this.txtUsername.Location.Y + num5);
         this.lblPassword.Text = this.TextPassword;
     }
     else
     {
         this.lblPassword.Position = new Point(this.txtEmail.Location.X, this.txtEmail.Location.Y + num5);
         this.lblPassword.Text = this.TextPasswordMerge;
     }
     this.lblPassword.Size = new Size(300, height);
     this.lblPassword.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.txtPassword = new TextBox();
     this.txtPassword.ForeColor = ARGBColors.Black;
     this.txtPassword.PasswordChar = '*';
     this.txtPassword.BackColor = ARGBColors.White;
     this.txtPassword.Location = new Point(this.lblPassword.Position.X, this.lblPassword.Position.Y + num6);
     this.txtPassword.Size = new Size(300, this.txtPassword.Height);
     this.fillPasswordValid = new CustomSelfDrawPanel.CSDFill();
     this.fillPasswordValid.Position = new Point((x + 300) + 5, this.txtPassword.Location.Y);
     this.fillPasswordValid.Size = new Size(this.txtPassword.Height, this.txtPassword.Height);
     this.fillPasswordValid.FillColor = ARGBColors.Red;
     if (this.m_createMode)
     {
         this.lblPasswordconfirm = new CustomSelfDrawPanel.CSDLabel();
         this.lblPasswordconfirm.Position = new Point(this.txtPassword.Location.X, this.txtPassword.Location.Y + num5);
         this.lblPasswordconfirm.Text = this.TextPasswordConfirm;
         this.lblPasswordconfirm.Size = new Size(300, height);
         this.lblPasswordconfirm.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
         this.txtPasswordconfirm = new TextBox();
         this.txtPasswordconfirm.ForeColor = ARGBColors.Black;
         this.txtPasswordconfirm.PasswordChar = '*';
         this.txtPasswordconfirm.BackColor = ARGBColors.White;
         this.txtPasswordconfirm.Location = new Point(this.lblPasswordconfirm.Position.X, this.lblPasswordconfirm.Position.Y + num6);
         this.txtPasswordconfirm.Size = new Size(300, this.txtPasswordconfirm.Height);
         this.fillPasswordConfirmValid = new CustomSelfDrawPanel.CSDFill();
         this.fillPasswordConfirmValid.Position = new Point((x + 300) + 5, this.txtPasswordconfirm.Location.Y);
         this.fillPasswordConfirmValid.Size = new Size(this.txtPasswordconfirm.Height, this.txtPasswordconfirm.Height);
         this.fillPasswordConfirmValid.FillColor = ARGBColors.Red;
         if (Program.gamersFirstInstall || Program.arcInstall)
         {
             this.lblPasswordconfirm.Visible = false;
             this.txtPasswordconfirm.Visible = false;
             this.fillPasswordConfirmValid.Visible = false;
         }
     }
     if (Program.gamersFirstInstall || Program.arcInstall)
     {
         this.lblPassword.Visible = false;
         this.txtPassword.Visible = false;
         this.fillPasswordValid.Visible = false;
         this.txtEmail.ReadOnly = true;
         this.fillEmailValid.Visible = false;
     }
     else
     {
         this.newsletterCheck = new CustomSelfDrawPanel.CSDCheckBox();
         this.newsletterCheck.CheckedImage = (Image) GFXLibrary.reports_checkbox_checked;
         this.newsletterCheck.UncheckedImage = (Image) GFXLibrary.reports_checkbox_empty;
         this.newsletterCheck.Position = new Point((x + 5) + 60, (this.txtPasswordconfirm.Location.Y + 0x19) + 4);
         this.newsletterCheck.Checked = false;
         this.newsletterCheck.CBLabel.Text = SK.Text("Create_Subscribe Newsletter", "Subscribe to Newsletter");
         this.newsletterCheck.CBLabel.Color = ARGBColors.Black;
         this.newsletterCheck.CBLabel.Position = new Point(20, -1);
         this.newsletterCheck.CBLabel.Size = new Size(360, 0x23);
         this.newsletterCheck.CBLabel.Font = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
         this.AddControlToPanel(this.newsletterCheck);
     }
     this.NextButton = new CustomSelfDrawPanel.CSDImage();
     if (this.m_createMode)
     {
         this.NextButton.Image = this.NextImage;
         if (overDelegate == null)
         {
             overDelegate = delegate {
                 this.NextButton.Image = this.NextImageOver;
                 this.Cursor = Cursors.Hand;
             };
         }
         if (leaveDelegate == null)
         {
             leaveDelegate = delegate {
                 this.NextButton.Image = this.NextImage;
                 this.Cursor = Cursors.Default;
             };
         }
         this.NextButton.setMouseOverDelegate(overDelegate, leaveDelegate);
         this.NextButton.Position = new Point(this.txtPasswordconfirm.Location.X, ((this.txtPasswordconfirm.Location.Y + num5) + 10) - num);
     }
     else
     {
         this.NextButton.Image = this.TransferImage;
         if (delegate4 == null)
         {
             delegate4 = delegate {
                 this.NextButton.Image = this.TransferImageOver;
                 this.Cursor = Cursors.Hand;
             };
         }
         if (delegate5 == null)
         {
             delegate5 = delegate {
                 this.NextButton.Image = this.TransferImage;
                 this.Cursor = Cursors.Default;
             };
         }
         this.NextButton.setMouseOverDelegate(delegate4, delegate5);
         this.NextButton.Position = new Point(this.txtPasswordconfirm.Location.X, ((this.txtPasswordconfirm.Location.Y + num5) + 10) - 60);
     }
     this.NextButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.NextClicked), "CreatePopupPanel_next");
     if ((!Program.steamActive || !this.m_createMode) && (!Program.gamersFirstInstall && !Program.arcInstall))
     {
         CustomSelfDrawPanel.CSDButton c = new CustomSelfDrawPanel.CSDButton {
             ImageNorm = this.CloseImage,
             ImageOver = this.CloseImageOver,
             Position = new Point(480, 410)
         };
         c.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick), "CreatePopupPanel_close");
         this.AddControlToPanel(c);
     }
     if (HintBoxImage == null)
     {
         HintBoxImage = new Bitmap(500, 100);
         Graphics graphics = Graphics.FromImage(HintBoxImage);
         graphics.Clear(ARGBColors.White);
         graphics.DrawRectangle(Pens.LightGray, new Rectangle(0, 0, 500, 100));
         graphics.FillRectangle(Brushes.LightGray, new Rectangle(0, 0x60, 500, 4));
         graphics.FillRectangle(Brushes.LightGray, new Rectangle(0x1f0, 0, 4, 100));
         graphics.Dispose();
     }
     this.HintBox = new CustomSelfDrawPanel.CSDImage();
     this.HintBox.Image = HintBoxImage;
     this.HintBox.Width = HintBoxImage.Width;
     this.HintBox.Height = HintBoxImage.Height;
     if (this.m_createMode)
     {
         this.HintBox.Position = new Point(this.HeaderTitle.Position.X, (this.NextButton.Position.Y + num5) + 8);
     }
     else
     {
         this.HintBox.Position = new Point(this.HeaderTitle.Position.X + 50, (this.NextButton.Position.Y + num5) + 8);
     }
     this.HintBoxLabel = new CustomSelfDrawPanel.CSDLabel();
     this.HintBoxLabel.Width = HintBoxImage.Width - 0x20;
     this.HintBoxLabel.Height = ((HintBoxImage.Height - 0x20) / 2) + 8;
     this.HintBoxLabel.Position = new Point(this.HintBox.Position.X + 0x10, this.HintBox.Position.Y + 0x10);
     this.FeedbackLabel = new CustomSelfDrawPanel.CSDLabel();
     this.FeedbackLabel.Width = this.HintBoxLabel.Width;
     this.FeedbackLabel.Height = this.HintBoxLabel.Height;
     this.FeedbackLabel.Position = new Point(this.HintBoxLabel.Position.X, this.HintBoxLabel.Position.Y + this.HintBoxLabel.Height);
     this.FeedbackLabel.Color = ARGBColors.Red;
     this.tandcLabel = new CustomSelfDrawPanel.CSDLabel();
     this.tandcLabel.Text = SK.Text("MENU_TandC", "Terms & Conditions").Replace("&amp;", "&");
     if (Program.mySettings.LanguageIdent == "de")
     {
         this.tandcLabel.Size = new Size(270, 20);
         this.tandcLabel.Position = new Point(30, 0x193);
     }
     else
     {
         this.tandcLabel.Size = new Size(170, 20);
         this.tandcLabel.Position = new Point(100, 0x193);
     }
     this.tandcLabel.Font = FontManager.GetFont("Arial", 8f, FontStyle.Regular);
     this.tandcLabel.Color = ARGBColors.Black;
     this.tandcLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.tcClicked));
     this.tandcLabel.setMouseOverDelegate(() => this.tandcLabel.Color = ARGBColors.Red, () => this.tandcLabel.Color = ARGBColors.Black);
     this.tandcLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.AddControlToPanel(this.tandcLabel);
     this.privacyLabel = new CustomSelfDrawPanel.CSDLabel();
     this.privacyLabel.Text = SK.Text("MENU_Privacy", "Privacy Policy");
     this.privacyLabel.Size = new Size(base.Width - 0x19e, 20);
     this.privacyLabel.Position = new Point(0xcf, 0x193);
     this.privacyLabel.Font = FontManager.GetFont("Arial", 8f, FontStyle.Regular);
     this.privacyLabel.Color = ARGBColors.Black;
     this.privacyLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.privacyClicked));
     this.privacyLabel.setMouseOverDelegate(() => this.privacyLabel.Color = ARGBColors.Red, () => this.privacyLabel.Color = ARGBColors.Black);
     this.privacyLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.AddControlToPanel(this.privacyLabel);
     if (Program.steamActive && this.m_createMode)
     {
         this.alreadyLabel = new CustomSelfDrawPanel.CSDLabel();
         this.alreadyLabel.Text = SK.Text("Steam_already", "Already have a Stronghold Kingdoms account? Click Here.");
         this.alreadyLabel.Size = new Size(base.Width - 20, 20);
         this.alreadyLabel.Position = new Point(10, base.Height - 20);
         this.alreadyLabel.Font = FontManager.GetFont("Arial", 8f, FontStyle.Regular);
         this.alreadyLabel.Color = ARGBColors.Black;
         if (newDelegate == null)
         {
             newDelegate = () => this.init(false);
         }
         this.alreadyLabel.setClickDelegate(newDelegate);
         if (delegate7 == null)
         {
             delegate7 = () => this.alreadyLabel.Color = ARGBColors.Red;
         }
         if (delegate8 == null)
         {
             delegate8 = () => this.alreadyLabel.Color = ARGBColors.Black;
         }
         this.alreadyLabel.setMouseOverDelegate(delegate7, delegate8);
         this.alreadyLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
         this.AddControlToPanel(this.alreadyLabel);
     }
     this.AddControlToPanel(this.HeaderTitle);
     this.AddControlToPanel(this.lblEmail);
     if (!Program.gamersFirstInstall && !Program.arcInstall)
     {
         base.Controls.Add(this.txtEmail);
     }
     if (this.m_createMode)
     {
         this.AddControlToPanel(this.fillEmailValid);
     }
     if (this.m_createMode)
     {
         if (!Program.gamersFirstInstall && !Program.arcInstall)
         {
             this.AddControlToPanel(this.lblEmailconfirm);
             base.Controls.Add(this.txtEmailconfirm);
             this.AddControlToPanel(this.fillEmailConfirmValid);
         }
         this.AddControlToPanel(this.lblUsername);
         base.Controls.Add(this.txtUsername);
         this.txtUsername.MaxLength = 0x12;
         this.AddControlToPanel(this.fillUsernameValid);
     }
     this.AddControlToPanel(this.lblPassword);
     base.Controls.Add(this.txtPassword);
     if (this.m_createMode)
     {
         this.AddControlToPanel(this.fillPasswordValid);
     }
     if ((this.m_createMode && !Program.gamersFirstInstall) && !Program.arcInstall)
     {
         this.AddControlToPanel(this.lblPasswordconfirm);
         base.Controls.Add(this.txtPasswordconfirm);
         this.AddControlToPanel(this.fillPasswordConfirmValid);
     }
     if (Program.gamersFirstInstall || Program.arcInstall)
     {
         base.Controls.Add(this.txtEmail);
     }
     this.AddControlToPanel(this.NextButton);
     this.AddControlToPanel(this.HintBox);
     this.AddControlToPanel(this.HintBoxLabel);
     this.AddControlToPanel(this.FeedbackLabel);
     this.txtEmail.Name = "txtEmail";
     if (!Program.gamersFirstInstall && !Program.arcInstall)
     {
         this.txtEmail.GotFocus += new EventHandler(this.txtEmail_GotFocus);
     }
     this.txtPassword.Name = "txtPassword";
     this.txtPassword.GotFocus += new EventHandler(this.txtPassword_GotFocus);
     this.txtEmail.TextChanged += new EventHandler(this.txtEmail_TextChanged);
     this.txtPassword.TextChanged += new EventHandler(this.txtPassword_TextChanged);
     if (this.m_createMode)
     {
         this.txtEmailconfirm.Name = "txtEmailConfirm";
         this.txtEmailconfirm.GotFocus += new EventHandler(this.txtEmailconfirm_GotFocus);
         this.txtUsername.Name = "txtUsername";
         this.txtUsername.GotFocus += new EventHandler(this.txtUsername_GotFocus);
         this.txtPasswordconfirm.Name = "txtPasswordConfirm";
         this.txtPasswordconfirm.GotFocus += new EventHandler(this.txtPasswordconfirm_GotFocus);
         this.txtEmailconfirm.TextChanged += new EventHandler(this.txtEmailconfirm_TextChanged);
         this.txtUsername.TextChanged += new EventHandler(this.txtUsername_TextChanged);
         this.txtPasswordconfirm.TextChanged += new EventHandler(this.txtPasswordconfirm_TextChanged);
     }
     base.BringToFront();
     base.Focus();
     if (Program.gamersFirstInstall || Program.arcInstall)
     {
         this.txtUsername.Focus();
     }
     else
     {
         this.txtEmail.Focus();
     }
     this.emailValid = false;
     this.emailconfirmvalid = false;
     this.passwordvalid = false;
     this.passwordconfirmvalid = false;
     this.lastUsernameValid = false;
     this.usernameValidationInProgress = false;
     this.lastUsernameChecked = string.Empty;
     this.usernameNotChecked = false;
     if (Program.gamersFirstInstall || Program.arcInstall)
     {
         this.passwordconfirmvalid = this.passwordvalid = true;
         this.emailValid = this.emailconfirmvalid = true;
         this.txtEmail.Text = ProfileLoginWindow.gfEmail;
         this.txtPassword.Text = ProfileLoginWindow.gfPW;
         this.txtUsername.Focus();
     }
     this.ValidateNextButton();
     this.txtEmail.KeyUp += new KeyEventHandler(this.Tabfix);
     base.Invalidate();
 }
示例#5
0
        public void init(int cardSection)
        {
            CustomSelfDrawPanel.CSDImage image2;
            this.currentCardSection = cardSection;
            base.clearControls();
            this.mainBackgroundImage.Image    = GFXLibrary.dummy;
            this.mainBackgroundImage.Position = new Point(0, 0);
            this.mainBackgroundImage.Size     = base.Size;
            this.mainBackgroundImage.Tile     = true;
            base.addControl(this.mainBackgroundImage);
            this.ContentWidth        = base.Width - (2 * BorderPadding);
            this.AvailablePanelWidth = 800;
            CustomSelfDrawPanel.CSDExtendingPanel control = new CustomSelfDrawPanel.CSDExtendingPanel {
                Size     = base.Size,
                Position = new Point(0, 0)
            };
            this.mainBackgroundImage.addControl(control);
            control.Create((Image)GFXLibrary.cardpanel_panel_back_top_left, (Image)GFXLibrary.cardpanel_panel_back_top_mid, (Image)GFXLibrary.cardpanel_panel_back_top_right, (Image)GFXLibrary.cardpanel_panel_back_mid_left, (Image)GFXLibrary.cardpanel_panel_back_mid_mid, (Image)GFXLibrary.cardpanel_panel_back_mid_right, (Image)GFXLibrary.cardpanel_panel_back_bottom_left, (Image)GFXLibrary.cardpanel_panel_back_bottom_mid, (Image)GFXLibrary.cardpanel_panel_back_bottom_right);
            CustomSelfDrawPanel.CSDImage image = new CustomSelfDrawPanel.CSDImage {
                Image    = (Image)GFXLibrary.cardpanel_panel_gradient_top_left,
                Size     = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
                Position = new Point(0, 0)
            };
            control.addControl(image);
            image2 = new CustomSelfDrawPanel.CSDImage {
                Image    = (Image)GFXLibrary.cardpanel_panel_gradient_bottom_right,
                Size     = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
                Position = new Point((control.Width - ((Image)GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (control.Height - ((Image)GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
            };
            control.addControl(image2);
            this.AvailablePanel          = new CustomSelfDrawPanel.CSDExtendingPanel();
            this.AvailablePanel.Size     = new Size(this.AvailablePanelWidth, 550);
            this.AvailablePanel.Position = new Point(8, (base.Height - 8) - 550);
            this.AvailablePanel.Alpha    = 0.8f;
            this.mainBackgroundImage.addControl(this.AvailablePanel);
            this.AvailablePanel.Create((Image)GFXLibrary.cardpanel_panel_black_top_left, (Image)GFXLibrary.cardpanel_panel_black_top_mid, (Image)GFXLibrary.cardpanel_panel_black_top_right, (Image)GFXLibrary.cardpanel_panel_black_mid_left, (Image)GFXLibrary.cardpanel_panel_black_mid_mid, (Image)GFXLibrary.cardpanel_panel_black_mid_right, (Image)GFXLibrary.cardpanel_panel_black_bottom_left, (Image)GFXLibrary.cardpanel_panel_black_bottom_mid, (Image)GFXLibrary.cardpanel_panel_black_bottom_right);
            this.cardsInPlay.init(cardSection, 0x70, false, 14, 3, 0);
            this.cardsInPlay.Position = new Point(0, 5);
            this.AvailablePanel.addControl(this.cardsInPlay);
            int width         = base.Width;
            int borderPadding = BorderPadding;
            int num3          = this.AvailablePanel.Width;

            this.closeImage.Image = (Image)GFXLibrary.cardpanel_button_close_normal;
            this.closeImage.Size  = this.closeImage.Image.Size;
            this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image)GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image)GFXLibrary.cardpanel_button_close_normal);
            this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick));
            this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
            this.mainBackgroundImage.addControl(this.closeImage);
            CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
                FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
                Size      = new Size(base.Width - 10, 1),
                Position  = new Point(5, 0x22)
            };
            this.mainBackgroundImage.addControl(fill);
            this.greyout.FillColor = Color.FromArgb(0xd7, 0x19, 0x19, 0x19);
            this.greyout.Size      = new Size(this.mainBackgroundImage.Width, this.AvailablePanel.Y + this.AvailablePanel.Height);
            this.greyout.Position  = new Point(0, 0);
            this.greyout.setClickDelegate(delegate {
            });
            CustomSelfDrawPanel.CSDImage closeGrey = new CustomSelfDrawPanel.CSDImage {
                Image = (Image)GFXLibrary.cardpanel_button_close_normal,
                Size  = this.closeImage.Image.Size
            };
            closeGrey.setMouseOverDelegate(() => closeGrey.Image = (Image)GFXLibrary.cardpanel_button_close_over, () => closeGrey.Image = (Image)GFXLibrary.cardpanel_button_close_normal);
            closeGrey.Position = new Point((base.Width - 14) - 0x11, 10);
            this.greyout.addControl(closeGrey);
            this.labelTitle.Position  = new Point(0x1b, 8);
            this.labelTitle.Size      = new Size(0x3a7, 0x40);
            this.labelTitle.Text      = SK.Text("ViewAllCardsPanel_Cards_In_Play", "Cards In Play");
            this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
            this.labelTitle.Font      = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
            this.labelTitle.Color     = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.labelTitle);
            CustomSelfDrawPanel.UICardsButtons buttons = new CustomSelfDrawPanel.UICardsButtons((PlayCardsWindow)base.ParentForm)
            {
                Position = new Point(0x328, 0x25)
            };
            this.mainBackgroundImage.addControl(buttons);
            this.cardButtons = buttons;
            if (cardSection != 0)
            {
                CustomSelfDrawPanel.CSDButton button = new CustomSelfDrawPanel.CSDButton {
                    ImageNorm  = (Image)GFXLibrary.button_cards_all_normal,
                    ImageOver  = (Image)GFXLibrary.button_cards_all_over,
                    ImageClick = (Image)GFXLibrary.button_cards_all_over,
                    Position   = new Point(750, 0)
                };
                button.Text.Text     = SK.Text("PlayCardsPanel_All_Your_Cards", "All Your Cards");
                button.TextYOffset   = -3;
                button.Text.Color    = ARGBColors.Black;
                button.Text.Size     = new Size(button.Size.Width - 0x2d, button.Size.Height);
                button.Text.Position = new Point(0x2d, 0);
                button.Text.Font     = FontManager.GetFont("Arial", 10f, FontStyle.Bold);
                button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.showAllCardsClick), "PlayCardsPanel_show_all_cards");
                this.mainBackgroundImage.addControl(button);
            }
            CustomSelfDrawPanel.CSDButton button2 = new CustomSelfDrawPanel.CSDButton {
                ImageNorm  = (Image)GFXLibrary.misc_button_blue_210wide_normal,
                ImageOver  = (Image)GFXLibrary.misc_button_blue_210wide_over,
                ImageClick = (Image)GFXLibrary.misc_button_blue_210wide_pushed,
                Position   = new Point(580, 0x203)
            };
            button2.Text.Text   = SK.Text("PlayCardsPanel_Return", "Back To Play Cards");
            button2.TextYOffset = -2;
            button2.Text.Color  = ARGBColors.Black;
            if ((Program.mySettings.LanguageIdent == "it") || (Program.mySettings.LanguageIdent == "tr"))
            {
                button2.Text.Font = FontManager.GetFont("Arial", 11f, FontStyle.Bold);
            }
            else
            {
                button2.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            }
            button2.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.returnClicked), "PlayCardsPanel_Back_To_PlayCards");
            this.AvailablePanel.addControl(button2);
            CustomSelfDrawPanel.CSDLabel label = new CustomSelfDrawPanel.CSDLabel {
                Position  = new Point(0x1b, 0x233),
                Size      = new Size(0x3a7, 0x40),
                Text      = SK.Text("ViewAllCardsPanel_Cancel", "Click on a Card Circle to cancel that card."),
                Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
                Font      = FontManager.GetFont("Arial", 14f, FontStyle.Regular),
                Color     = ARGBColors.White
            };
            this.mainBackgroundImage.addControl(label);
            this.mainBackgroundImage.invalidate();
        }
示例#6
0
        public void init(bool initialCall, int wheelType)
        {
            CustomSelfDrawPanel.CSDImage image2;
            this.m_wheelType = wheelType;
            Instance = this;
            base.clearControls();
            if (!this.rewardImagesCreated)
            {
                this.rewardImagesCreated = true;
                for (int i = 0; i < 20; i++)
                {
                    this.rewardImages[i] = new RewardImage();
                }
            }
            this.mainBackgroundImage.Image = GFXLibrary.dummy;
            this.mainBackgroundImage.Position = new Point(0, 0);
            this.mainBackgroundImage.Size = base.Size;
            this.mainBackgroundImage.Tile = true;
            base.addControl(this.mainBackgroundImage);
            this.MainPanel.Size = base.Size;
            this.MainPanel.Position = new Point(0, 0);
            this.mainBackgroundImage.addControl(this.MainPanel);
            this.MainPanel.Create((Image) GFXLibrary.cardpanel_panel_back_top_left, (Image) GFXLibrary.cardpanel_panel_back_top_mid, (Image) GFXLibrary.cardpanel_panel_back_top_right, (Image) GFXLibrary.cardpanel_panel_back_mid_left, (Image) GFXLibrary.cardpanel_panel_back_mid_mid, (Image) GFXLibrary.cardpanel_panel_back_mid_right, (Image) GFXLibrary.cardpanel_panel_back_bottom_left, (Image) GFXLibrary.cardpanel_panel_back_bottom_mid, (Image) GFXLibrary.cardpanel_panel_back_bottom_right);
            CustomSelfDrawPanel.CSDImage control = new CustomSelfDrawPanel.CSDImage {
                Image = (Image) GFXLibrary.cardpanel_panel_gradient_top_left,
                Size = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
                Position = new Point(0, 0)
            };
            this.MainPanel.addControl(control);
            image2 = new CustomSelfDrawPanel.CSDImage {
                Image = (Image) GFXLibrary.cardpanel_panel_gradient_bottom_right,
                Size = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
                Position = new Point((this.MainPanel.Width - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (this.MainPanel.Height - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
            };
            this.MainPanel.addControl(image2);
            this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal;
            this.closeImage.Size = this.closeImage.Image.Size;
            this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
            this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick), "Cards_Close");
            this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
            this.closeImage.CustomTooltipID = 0x2774;
            this.mainBackgroundImage.addControl(this.closeImage);
            CustomSelfDrawPanel.WikiLinkControl.init(this.mainBackgroundImage, 0x20, new Point((base.Width - 40) - 40, 2));
            CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
                FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
                Size = new Size(base.Width - 10, 1),
                Position = new Point(5, 0x22)
            };
            this.mainBackgroundImage.addControl(fill);
            this.labelTitle.Position = new Point(0x1b, 5);
            this.labelTitle.Size = new Size(600, 0x40);
            switch (this.m_wheelType)
            {
                case -1:
                    this.labelTitle.Text = SK.Text("WheelPanel_Royal_Wheel", "Quest Wheel");
                    break;

                case 0:
                    this.labelTitle.Text = SK.Text("WheelPanel_Treasure_Wheel_1", "Treasure Wheel Tier 1");
                    break;

                case 1:
                    this.labelTitle.Text = SK.Text("WheelPanel_Treasure_Wheel_2", "Treasure Wheel Tier 2");
                    break;

                case 2:
                    this.labelTitle.Text = SK.Text("WheelPanel_Treasure_Wheel_3", "Treasure Wheel Tier 3");
                    break;

                case 3:
                    this.labelTitle.Text = SK.Text("WheelPanel_Treasure_Wheel_4", "Treasure Wheel Tier 4");
                    break;

                case 4:
                    this.labelTitle.Text = SK.Text("WheelPanel_Treasure_Wheel_5", "Treasure Wheel Tier 5");
                    break;
            }
            this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
            this.labelTitle.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
            this.labelTitle.Color = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.labelTitle);
            if (this.m_wheelType == -1)
            {
                if (Program.mySettings.LanguageIdent == "it")
                {
                    this.labelTitle2.Position = new Point(300, 10);
                }
                else
                {
                    this.labelTitle2.Position = new Point(250, 10);
                }
                this.labelTitle2.Size = new Size(600, 0x40);
                string[] strArray = new string[] { "(", SK.Text("WheelPanel_Level", "Level"), " ", (Wheel.getWheelLevel(GameEngine.Instance.World.getRank()) + 1).ToString(), ")" };
                this.labelTitle2.Text = string.Concat(strArray);
                this.labelTitle2.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
                this.labelTitle2.Font = FontManager.GetFont("Arial", 14f, FontStyle.Regular);
                this.labelTitle2.Color = ARGBColors.Black;
                this.mainBackgroundImage.addControl(this.labelTitle2);
            }
            this.wheelImage.Image = (Image) GFXLibrary.wheel_wheel_royal;
            this.wheelImage.Position = new Point(3, 0x23);
            this.mainBackgroundImage.addControl(this.wheelImage);
            this.numTicketsLabel.Position = new Point(0x2d5, 0x2a);
            this.numTicketsLabel.Size = new Size(600, 0x36);
            this.numTicketsLabel.Text = SK.Text("WheelPanel_Spins", "Spins") + ": " + GameEngine.Instance.World.getTickets(this.m_wheelType).ToString();
            this.numTicketsLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
            this.numTicketsLabel.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
            this.numTicketsLabel.Color = ARGBColors.Black;
            this.wheelImage.addControl(this.numTicketsLabel);
            this.starImage.Image = (Image) GFXLibrary.wheel_star[0];
            this.starImage.Position = new Point(0x22d, 0x2f);
            this.starImage.RotateCentre = new PointF(128f, 128f);
            this.starImage.Visible = false;
            this.starSpinMode = 0;
            this.wheelImage.addControl(this.starImage);
            if (this.royal)
            {
                this.pegImage.Image = (Image) GFXLibrary.wheel_icons[12];
            }
            else
            {
                this.pegImage.Image = (Image) GFXLibrary.wheel_icons[13];
            }
            this.pegImage.Position = new Point(0x26e, 0x73);
            this.pegImage.Visible = true;
            this.wheelImage.addControl(this.pegImage);
            this.rewardDescription.Position = new Point(0x2dd, 0x8a);
            this.rewardDescription.Size = new Size(0x9b, 80);
            this.rewardDescription.Text = "";
            this.rewardDescription.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
            this.rewardDescription.Font = FontManager.GetFont("Arial", 11f, FontStyle.Bold);
            this.rewardDescription.Color = ARGBColors.Black;
            this.wheelImage.addControl(this.rewardDescription);
            this.wheelLayer1.Position = new Point(0, 0);
            this.wheelLayer1.Size = this.wheelImage.Size;
            this.wheelImage.addControl(this.wheelLayer1);
            this.wheelLayer2.Position = new Point(0, 0);
            this.wheelLayer2.Size = this.wheelImage.Size;
            this.wheelImage.addControl(this.wheelLayer2);
            this.wheelLayer3.Position = new Point(0, 0);
            this.wheelLayer3.Size = this.wheelImage.Size;
            this.wheelImage.addControl(this.wheelLayer3);
            this.spinGlow.Image = (Image) GFXLibrary.wheel_icons[0];
            this.spinGlow.Position = new Point(0x205, 0x1a7);
            this.wheelImage.addControl(this.spinGlow);
            this.spinButton.ImageNorm = (Image) GFXLibrary.wheel_spinButton_royal[0];
            this.spinButton.ImageOver = (Image) GFXLibrary.wheel_spinButton_royal[1];
            this.spinButton.MoveOnClick = false;
            this.spinButton.Position = new Point(0x202, 0x1ba);
            this.spinButton.Text.Text = SK.Text("Wheel_Spin", "Spin");
            this.spinButton.TextYOffset = 0x20;
            this.spinButton.Text.Color = ARGBColors.Black;
            this.spinButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
            this.spinButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.spinButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.spinCard));
            this.wheelImage.addControl(this.spinButton);
            int num2 = 5;
            this.pointerShadowImage.Image = (Image) GFXLibrary.wheel_arrowBlurShadow[0];
            this.pointerShadowImage.Position = new Point(0xd7 + num2, 0x6c + num2);
            this.pointerShadowImage.RotateCentre = new PointF(76.5f, 172.5f);
            this.pointerShadowImage.Alpha = 0.5f;
            this.wheelImage.addControl(this.pointerShadowImage);
            this.pointerImage.Image = (Image) GFXLibrary.wheel_arrowBlur_royal[0];
            this.pointerImage.Position = new Point(-num2, -num2);
            this.pointerImage.RotateCentre = new PointF(76.5f, 172.5f);
            this.pointerShadowImage.addControl(this.pointerImage);
            this.centreRewardImage.init(null, new Point(0x125, 0x11b));
            this.wheelImage.addControl(this.centreRewardImage);
            this.prizeRewardImage.init(null, new Point(690, 0xb7));
            this.wheelImage.addControl(this.prizeRewardImage);
            this.rewards = Wheel.getRewardWheel(GameEngine.Instance.World.getRank(), this.m_wheelType, GameEngine.Instance.LocalWorldData.AIWorld);
            if (this.rewards.Count == 20)
            {
                Random random = new Random();
                for (int j = 0; j < 20; j++)
                {
                    int num4 = random.Next(20);
                    WheelReward reward = this.rewards[j];
                    this.rewards[j] = this.rewards[num4];
                    this.rewards[num4] = reward;
                }
                for (int k = 0; k < 20; k++)
                {
                    Point point = this.rotatePoint(new Point(0, 230), (float) ((k * 0x12) + 9));
                    this.rewardImages[k].init(this.rewards[k], new Point(0x125 + point.X, 0x11b - point.Y), this.wheelLayer1, this.wheelLayer2, this.wheelLayer3);
                    this.wheelImage.addControl(this.rewardImages[k]);
                }
            }
            if (GameEngine.Instance.World.getTickets(this.m_wheelType) > 0)
            {
                this.helpLabel.Text = SK.Text("WheelPanel_spin_help", "Spin the wheel to win a prize");
            }
            else
            {
                this.helpLabel.Text = SK.Text("WheelPanel_nospin_help", "You have no spins available");
            }
            this.helpLabel.Position = new Point(0x2ae, 260);
            this.helpLabel.Size = new Size(0xc7, 180);
            this.helpLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
            this.helpLabel.Font = FontManager.GetFont("Arial", 14f, FontStyle.Bold);
            this.helpLabel.Color = ARGBColors.Black;
            this.wheelImage.addControl(this.helpLabel);
            this.pointerRotate = 0f;
            this.pointerRotateSpeed = 0f;
            this.spinMode = -2;
            this.lastRotate = -1000f;
            this.updateSpinButton();
            base.Invalidate();
            this.update();
        }
 public void init(bool initialCall)
 {
     CustomSelfDrawPanel.CSDImage image2;
     this.freeCardInfo = GameEngine.Instance.World.FreeCardInfo;
     if (!this.freeCardInfo.VeteranStages[0] && initialCall)
     {
         RemoteServices.Instance.set_InitialiseFreeCards_UserCallBack(new RemoteServices.InitialiseFreeCards_UserCallBack(this.initialiseFreeCardsCallback));
         RemoteServices.Instance.InitialiseFreeCards();
     }
     else if (initialCall && (DateTime.Now.Subtract(lastVeteranLevelTime).TotalSeconds > 120.0))
     {
         this.UpdateVeteranLevelData();
         lastVeteranLevelTime = DateTime.Now;
     }
     TimeSpan span = this.freeCardInfo.timeUntilNextFreeCard();
     bool flag = false;
     if (((span.TotalSeconds <= 0.0) && this.freeCardInfo.VeteranStages[0]) && (this.freeCardInfo.CurrentVeteranLevel > 0))
     {
         flag = true;
     }
     int num = 0x2e;
     base.clearControls();
     this.mainBackgroundImage.Image = GFXLibrary.dummy;
     this.mainBackgroundImage.Position = new Point(0, 0);
     this.mainBackgroundImage.Size = base.Size;
     this.mainBackgroundImage.Tile = true;
     base.addControl(this.mainBackgroundImage);
     this.MainPanel.Size = base.Size;
     this.MainPanel.Position = new Point(0, 0);
     this.mainBackgroundImage.addControl(this.MainPanel);
     this.MainPanel.Create((Image) GFXLibrary.cardpanel_panel_back_top_left, (Image) GFXLibrary.cardpanel_panel_back_top_mid, (Image) GFXLibrary.cardpanel_panel_back_top_right, (Image) GFXLibrary.cardpanel_panel_back_mid_left, (Image) GFXLibrary.cardpanel_panel_back_mid_mid, (Image) GFXLibrary.cardpanel_panel_back_mid_right, (Image) GFXLibrary.cardpanel_panel_back_bottom_left, (Image) GFXLibrary.cardpanel_panel_back_bottom_mid, (Image) GFXLibrary.cardpanel_panel_back_bottom_right);
     CustomSelfDrawPanel.CSDImage control = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_top_left,
         Size = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
         Position = new Point(0, 0)
     };
     this.MainPanel.addControl(control);
     image2 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_bottom_right,
         Size = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
         Position = new Point((this.MainPanel.Width - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (this.MainPanel.Height - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
     };
     this.MainPanel.addControl(image2);
     this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal;
     this.closeImage.Size = this.closeImage.Image.Size;
     this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick), "Cards_Close");
     this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
     this.closeImage.CustomTooltipID = 0x2774;
     this.mainBackgroundImage.addControl(this.closeImage);
     CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
         FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
         Size = new Size(base.Width - 10, 1),
         Position = new Point(5, 0x22)
     };
     this.mainBackgroundImage.addControl(fill);
     CustomSelfDrawPanel.CSDFill fill2 = new CustomSelfDrawPanel.CSDFill {
         FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
         Size = new Size(base.Width - 10, 1),
         Position = new Point(5, 0x74)
     };
     this.mainBackgroundImage.addControl(fill2);
     this.labelTitle.Position = new Point(0x1b, 5);
     this.labelTitle.Size = new Size(600, 0x40);
     this.labelTitle.Text = SK.Text("FreeCardsPanel_Free_Cards", "Free Cards");
     this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelTitle.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
     this.labelTitle.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelTitle);
     if ((this.freeCardInfo.CurrentVeteranLevel > 0) && !flag)
     {
         this.greenArea.Size = new Size(0x3bb, num * this.freeCardInfo.CurrentVeteranLevel);
         this.greenArea.Position = new Point(20, 0x7b);
         this.mainBackgroundImage.addControl(this.greenArea);
         this.greenArea.Create((Image) GFXLibrary.free_card_screen_green_panel_top_left, (Image) GFXLibrary.free_card_screen_green_panel_top_mid, (Image) GFXLibrary.free_card_screen_green_panel_top_right, (Image) GFXLibrary.free_card_screen_green_panel_mid_left, (Image) GFXLibrary.free_card_screen_green_panel_mid_mid, (Image) GFXLibrary.free_card_screen_green_panel_mid_right, (Image) GFXLibrary.free_card_screen_green_panel_bottom_left, (Image) GFXLibrary.free_card_screen_green_panel_bottom_mid, (Image) GFXLibrary.free_card_screen_green_panel_bottom_right);
     }
     this.timeProgress.Position = new Point(0x80, 0x55);
     this.timeProgress.Size = new Size(210, 6);
     this.mainBackgroundImage.addControl(this.timeProgress);
     this.timeProgress.Create((Image) GFXLibrary.free_card_screen_progbar_left, (Image) GFXLibrary.free_card_screen_progbar_mid, (Image) GFXLibrary.free_card_screen_progbar_right, (Image) GFXLibrary.free_card_screen_progbar_fill, (Image) GFXLibrary.free_card_screen_progbar_fill, (Image) GFXLibrary.free_card_screen_progbar_fill);
     this.timeProgress.setValues(this.freeCardInfo.durationHours() - span.TotalHours, this.freeCardInfo.durationHours());
     this.labelVeteranLevel.Position = new Point(0x7d, 0x24);
     this.labelVeteranLevel.Size = new Size(600, 0x40);
     this.labelVeteranLevel.Text = SK.Text("FreeCardsPanel_Level", "Kingdoms Veteran Level") + " : " + this.freeCardInfo.CurrentVeteranLevel.ToString();
     this.labelVeteranLevel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelVeteranLevel.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
     this.labelVeteranLevel.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelVeteranLevel);
     this.labelFreeCards.Position = new Point(0x80, 0x40);
     this.labelFreeCards.Size = new Size(600, 0x40);
     this.labelFreeCards.Text = SK.Text("FreeCardsPanel_Cards_Per_Week", "Cards per week") + " : " + this.freeCardInfo.freeCardsPerWeek().ToString();
     this.labelFreeCards.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelFreeCards.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular);
     this.labelFreeCards.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelFreeCards);
     string str = SK.Text("FreeCardsPanel_Next_Card", "Next Card") + ": ";
     if (((span.TotalSeconds >= 1.0) && (span.TotalDays < 100.0)) && (this.freeCardInfo.CurrentVeteranLevel > 0))
     {
         str = str + VillageMap.createBuildTimeString((int) span.TotalSeconds);
     }
     this.labelNextCards.Position = new Point(0x80, 0x61);
     this.labelNextCards.Size = new Size(600, 0x40);
     this.labelNextCards.Text = str;
     this.labelNextCards.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelNextCards.Font = FontManager.GetFont("Arial", 12f, FontStyle.Regular);
     this.labelNextCards.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelNextCards);
     if (this.freeCardInfo.CurrentVeteranLevel > 0)
     {
         this.crestImage.Image = (Image) GFXLibrary.free_card_screen_wax_array[this.freeCardInfo.CurrentVeteranLevel - 1];
         this.crestImage.Position = new Point(0x15, 0x23);
         this.mainBackgroundImage.addControl(this.crestImage);
     }
     if (!flag)
     {
         int x = 0x19;
         int y = 0x7b;
         int num4 = 0x9b;
         int num5 = 0x83;
         int num6 = 190;
         int num7 = 0x87;
         int num8 = 540;
         int num9 = 0x83;
         this.cards1Image.Image = (Image) this.getCardImage(0);
         this.cards1Image.Position = new Point(x, y);
         this.mainBackgroundImage.addControl(this.cards1Image);
         this.cards1Label.Position = new Point(-5, -5);
         this.cards1Label.Size = this.cards1Image.Size;
         this.cards1Label.Text = "1";
         this.cards1Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.cards1Label.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
         this.cards1Label.Color = ARGBColors.White;
         this.cards1Label.DropShadowColor = ARGBColors.Black;
         this.cards1Image.addControl(this.cards1Label);
         this.tick1Image.Image = (Image) this.getTickImage(0);
         this.tick1Image.Position = new Point(num4, num5);
         this.mainBackgroundImage.addControl(this.tick1Image);
         this.description1Label.Position = new Point(num6, num7);
         this.description1Label.Size = new Size(600, 0x40);
         this.description1Label.Text = SK.Text("FreeCardsPanel__Site_Village", "Site Village");
         this.description1Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
         this.description1Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.description1Label.Color = this.getTextColour(0);
         this.mainBackgroundImage.addControl(this.description1Label);
         this.level1Button.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
         this.level1Button.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
         this.level1Button.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
         this.level1Button.Position = new Point(num8, num9);
         this.level1Button.Text.Text = SK.Text("FreeCardsPanel_Increase_Level", "Increase Level");
         this.level1Button.TextYOffset = -2;
         this.level1Button.Text.Color = this.getButtonTextColour(0);
         this.level1Button.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.level1Button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.increaseLevel), "FreeCardsPanel_increase_level");
         this.level1Button.Data = 0;
         this.level1Button.Visible = this.isButtonVisible(0);
         this.level1Button.Enabled = this.isButtonEnabled(0);
         this.mainBackgroundImage.addControl(this.level1Button);
         this.cards2Image.Image = (Image) this.getCardImage(1);
         this.cards2Image.Position = new Point(x, y + num);
         this.mainBackgroundImage.addControl(this.cards2Image);
         this.cards2Label.Position = new Point(-5, -5);
         this.cards2Label.Size = this.cards1Image.Size;
         this.cards2Label.Text = "2";
         this.cards2Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.cards2Label.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
         this.cards2Label.Color = ARGBColors.White;
         this.cards2Label.DropShadowColor = ARGBColors.Black;
         this.cards2Image.addControl(this.cards2Label);
         this.tick2Image.Image = (Image) this.getTickImage(1);
         this.tick2Image.Position = new Point(num4, num5 + num);
         this.mainBackgroundImage.addControl(this.tick2Image);
         this.description2Label.Position = new Point(num6, num7 + num);
         this.description2Label.Size = new Size(600, 0x40);
         this.description2Label.Text = SK.Text("FreeCardsPanel_Rank_Yokel", "Get to Rank of Yokel") + " (3)";
         this.description2Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
         this.description2Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.description2Label.Color = this.getTextColour(1);
         this.mainBackgroundImage.addControl(this.description2Label);
         this.level2Button.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
         this.level2Button.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
         this.level2Button.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
         this.level2Button.Position = new Point(num8, num9 + num);
         this.level2Button.Text.Text = SK.Text("FreeCardsPanel_Increase_Level", "Increase Level");
         this.level2Button.TextYOffset = -2;
         this.level2Button.Text.Color = this.getButtonTextColour(1);
         this.level2Button.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.level2Button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.increaseLevel), "FreeCardsPanel_increase_level");
         this.level2Button.Data = 1;
         this.level2Button.Visible = this.isButtonVisible(1);
         this.level2Button.Enabled = this.isButtonEnabled(1);
         this.mainBackgroundImage.addControl(this.level2Button);
         this.cards3Image.Image = (Image) this.getCardImage(2);
         this.cards3Image.Position = new Point(x, y + (2 * num));
         this.mainBackgroundImage.addControl(this.cards3Image);
         this.cards3Label.Position = new Point(-5, -5);
         this.cards3Label.Size = this.cards1Image.Size;
         this.cards3Label.Text = "3";
         this.cards3Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.cards3Label.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
         this.cards3Label.Color = ARGBColors.White;
         this.cards3Label.DropShadowColor = ARGBColors.Black;
         this.cards3Image.addControl(this.cards3Label);
         this.tick3Image.Image = (Image) this.getTickImage(2);
         this.tick3Image.Position = new Point(num4, num5 + (2 * num));
         this.mainBackgroundImage.addControl(this.tick3Image);
         this.description3Label.Position = new Point(num6, num7 + (2 * num));
         this.description3Label.Size = new Size(600, 0x40);
         this.description3Label.Text = SK.Text("FreeCardsPanel_Rank_Villein", "Get to Rank of Villein") + " (6)";
         this.description3Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
         this.description3Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.description3Label.Color = this.getTextColour(2);
         this.mainBackgroundImage.addControl(this.description3Label);
         this.level3Button.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
         this.level3Button.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
         this.level3Button.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
         this.level3Button.Position = new Point(num8, num9 + (2 * num));
         this.level3Button.Text.Text = SK.Text("FreeCardsPanel_Increase_Level", "Increase Level");
         this.level3Button.TextYOffset = -2;
         this.level3Button.Text.Color = this.getButtonTextColour(2);
         this.level3Button.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.level3Button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.increaseLevel), "FreeCardsPanel_increase_level");
         this.level3Button.Data = 2;
         this.level3Button.Visible = this.isButtonVisible(2);
         this.level3Button.Enabled = this.isButtonEnabled(2);
         this.mainBackgroundImage.addControl(this.level3Button);
         this.cards4Image.Image = (Image) this.getCardImage(3);
         this.cards4Image.Position = new Point(x, y + (3 * num));
         this.mainBackgroundImage.addControl(this.cards4Image);
         this.cards4Label.Position = new Point(-5, -5);
         this.cards4Label.Size = this.cards1Image.Size;
         this.cards4Label.Text = "4";
         this.cards4Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.cards4Label.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
         this.cards4Label.Color = ARGBColors.White;
         this.cards4Label.DropShadowColor = ARGBColors.Black;
         this.cards4Image.addControl(this.cards4Label);
         this.tick4Image.Image = (Image) this.getTickImage(3);
         this.tick4Image.Position = new Point(num4, num5 + (3 * num));
         this.mainBackgroundImage.addControl(this.tick4Image);
         this.description4Label.Position = new Point(num6, num7 + (3 * num));
         this.description4Label.Size = new Size(600, 0x40);
         this.description4Label.Text = SK.Text("FreeCardsPanel_First_Purchase_Crowns", "First Purchase of Crowns");
         this.description4Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
         this.description4Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.description4Label.Color = this.getTextColour(3);
         this.mainBackgroundImage.addControl(this.description4Label);
         this.level4Button.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
         this.level4Button.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
         this.level4Button.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
         this.level4Button.Position = new Point(num8, num9 + (3 * num));
         this.level4Button.Text.Text = SK.Text("FreeCardsPanel_Increase_Level", "Increase Level");
         this.level4Button.TextYOffset = -2;
         this.level4Button.Text.Color = this.getButtonTextColour(3);
         this.level4Button.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.level4Button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.increaseLevel), "FreeCardsPanel_increase_level");
         this.level4Button.Data = 3;
         this.level4Button.Visible = this.isButtonVisible(3);
         this.level4Button.Enabled = this.isButtonEnabled(3);
         this.mainBackgroundImage.addControl(this.level4Button);
         this.cards5Image.Image = (Image) this.getCardImage(4);
         this.cards5Image.Position = new Point(x, y + (4 * num));
         this.mainBackgroundImage.addControl(this.cards5Image);
         this.cards5Label.Position = new Point(-5, -5);
         this.cards5Label.Size = this.cards1Image.Size;
         this.cards5Label.Text = "5";
         this.cards5Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.cards5Label.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
         this.cards5Label.Color = ARGBColors.White;
         this.cards5Label.DropShadowColor = ARGBColors.Black;
         this.cards5Image.addControl(this.cards5Label);
         this.tick5Image.Image = (Image) this.getTickImage(4);
         this.tick5Image.Position = new Point(num4, num5 + (4 * num));
         this.mainBackgroundImage.addControl(this.tick5Image);
         this.description5Label.Position = new Point(num6, num7 + (4 * num));
         this.description5Label.Size = new Size(600, 0x40);
         this.description5Label.Text = SK.Text("FreeCardsPanel_Rank_Commoner", "Get to Rank of Commoner") + " (9)";
         this.description5Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
         this.description5Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.description5Label.Color = this.getTextColour(4);
         this.mainBackgroundImage.addControl(this.description5Label);
         this.level5Button.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
         this.level5Button.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
         this.level5Button.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
         this.level5Button.Position = new Point(num8, num9 + (4 * num));
         this.level5Button.Text.Text = SK.Text("FreeCardsPanel_Increase_Level", "Increase Level");
         this.level5Button.TextYOffset = -2;
         this.level5Button.Text.Color = this.getButtonTextColour(4);
         this.level5Button.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.level5Button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.increaseLevel), "FreeCardsPanel_increase_level");
         this.level5Button.Data = 4;
         this.level5Button.Visible = this.isButtonVisible(4);
         this.level5Button.Enabled = this.isButtonEnabled(4);
         this.mainBackgroundImage.addControl(this.level5Button);
         this.cards6Image.Image = (Image) this.getCardImage(5);
         this.cards6Image.Position = new Point(x, y + (5 * num));
         this.mainBackgroundImage.addControl(this.cards6Image);
         this.cards6Label.Position = new Point(-5, -5);
         this.cards6Label.Size = this.cards1Image.Size;
         this.cards6Label.Text = "6";
         this.cards6Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.cards6Label.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
         this.cards6Label.Color = ARGBColors.White;
         this.cards6Label.DropShadowColor = ARGBColors.Black;
         this.cards6Image.addControl(this.cards6Label);
         this.tick6Image.Image = (Image) this.getTickImage(5);
         this.tick6Image.Position = new Point(num4, num5 + (5 * num));
         this.mainBackgroundImage.addControl(this.tick6Image);
         this.description6Label.Position = new Point(num6, num7 + (5 * num));
         this.description6Label.Size = new Size(600, 0x40);
         this.description6Label.Text = SK.Text("FreeCardsPanel_Donate_Resources", "Donate Resources to your Parish Capital");
         this.description6Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
         this.description6Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.description6Label.Color = this.getTextColour(5);
         this.mainBackgroundImage.addControl(this.description6Label);
         if (!GameEngine.Instance.World.InviteSystemNotImplemented)
         {
             this.level6Button.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
             this.level6Button.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
             this.level6Button.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
             this.level6Button.Position = new Point(num8, num9 + (5 * num));
             this.level6Button.Text.Text = SK.Text("FreeCardsPanel_Increase_Level", "Increase Level");
             this.level6Button.TextYOffset = -2;
             this.level6Button.Text.Color = this.getButtonTextColour(5);
             this.level6Button.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
             this.level6Button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.increaseLevel), "FreeCardsPanel_increase_level");
             this.level6Button.Data = 5;
             this.level6Button.Visible = this.isButtonVisible(5);
             this.level6Button.Enabled = this.isButtonEnabled(5);
             this.mainBackgroundImage.addControl(this.level6Button);
         }
         this.cards7Image.Image = (Image) this.getCardImage(6);
         this.cards7Image.Position = new Point(x, y + (6 * num));
         this.mainBackgroundImage.addControl(this.cards7Image);
         this.cards7Label.Position = new Point(-5, -5);
         this.cards7Label.Size = this.cards1Image.Size;
         this.cards7Label.Text = "7";
         this.cards7Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.cards7Label.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
         this.cards7Label.Color = ARGBColors.White;
         this.cards7Label.DropShadowColor = ARGBColors.Black;
         this.cards7Image.addControl(this.cards7Label);
         this.tick7Image.Image = (Image) this.getTickImage(6);
         this.tick7Image.Position = new Point(num4, num5 + (6 * num));
         this.mainBackgroundImage.addControl(this.tick7Image);
         this.description7Label.Position = new Point(num6, num7 + (6 * num));
         this.description7Label.Size = new Size(600, 0x40);
         this.description7Label.Text = SK.Text("FreeCardsPanel_Rank_Yeoman", "Get to Rank of Yeoman") + " (11)";
         this.description7Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
         this.description7Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.description7Label.Color = this.getTextColour(6);
         this.mainBackgroundImage.addControl(this.description7Label);
         if (!GameEngine.Instance.World.InviteSystemNotImplemented)
         {
             this.level7Button.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
             this.level7Button.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
             this.level7Button.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
             this.level7Button.Position = new Point(num8, num9 + (6 * num));
             this.level7Button.Text.Text = SK.Text("FreeCardsPanel_Increase_Level", "Increase Level");
             this.level7Button.TextYOffset = -2;
             this.level7Button.Text.Color = this.getButtonTextColour(6);
             this.level7Button.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
             this.level7Button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.increaseLevel), "FreeCardsPanel_increase_level");
             this.level7Button.Data = 6;
             this.level7Button.Visible = this.isButtonVisible(6);
             this.level7Button.Enabled = this.isButtonEnabled(6);
             this.mainBackgroundImage.addControl(this.level7Button);
         }
         this.cards8Image.Image = (Image) this.getCardImage(7);
         this.cards8Image.Position = new Point(x, y + (7 * num));
         this.mainBackgroundImage.addControl(this.cards8Image);
         this.cards8Label.Position = new Point(-5, -5);
         this.cards8Label.Size = this.cards1Image.Size;
         this.cards8Label.Text = "8";
         this.cards8Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.cards8Label.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
         this.cards8Label.Color = ARGBColors.White;
         this.cards8Label.DropShadowColor = ARGBColors.Black;
         this.cards8Image.addControl(this.cards8Label);
         this.tick8Image.Image = (Image) this.getTickImage(7);
         this.tick8Image.Position = new Point(num4, num5 + (7 * num));
         this.mainBackgroundImage.addControl(this.tick8Image);
         this.description8Label.Position = new Point(num6, num7 + (7 * num));
         this.description8Label.Size = new Size(600, 0x40);
         this.description8Label.Text = SK.Text("FreeCardsPanel_Factions", "Create or Join a Faction");
         this.description8Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
         this.description8Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.description8Label.Color = this.getTextColour(7);
         this.mainBackgroundImage.addControl(this.description8Label);
         if (!GameEngine.Instance.World.InviteSystemNotImplemented)
         {
             this.level8Button.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
             this.level8Button.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
             this.level8Button.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
             this.level8Button.Position = new Point(num8, num9 + (7 * num));
             this.level8Button.Text.Text = SK.Text("FreeCardsPanel_Increase_Level", "Increase Level");
             this.level8Button.TextYOffset = -2;
             this.level8Button.Text.Color = this.getButtonTextColour(7);
             this.level8Button.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
             this.level8Button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.increaseLevel), "FreeCardsPanel_increase_level");
             this.level8Button.Data = 7;
             this.level8Button.Visible = this.isButtonVisible(7);
             this.level8Button.Enabled = this.isButtonEnabled(7);
             this.mainBackgroundImage.addControl(this.level8Button);
         }
         this.cards9Image.Image = (Image) this.getCardImage(8);
         this.cards9Image.Position = new Point(x, y + (8 * num));
         this.mainBackgroundImage.addControl(this.cards9Image);
         this.cards9Label.Position = new Point(-6, -5);
         this.cards9Label.Size = this.cards1Image.Size;
         this.cards9Label.Text = "10";
         this.cards9Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.cards9Label.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
         this.cards9Label.Color = ARGBColors.White;
         this.cards9Label.DropShadowColor = ARGBColors.Black;
         this.cards9Image.addControl(this.cards9Label);
         this.tick9Image.Image = (Image) this.getTickImage(8);
         this.tick9Image.Position = new Point(num4, num5 + (8 * num));
         this.mainBackgroundImage.addControl(this.tick9Image);
         this.description9Label.Position = new Point(num6, num7 + (8 * num));
         this.description9Label.Size = new Size(600, 0x40);
         this.description9Label.Text = SK.Text("FreeCardsPanel_Second_Crowns", "Second purchase of Crowns");
         this.description9Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
         this.description9Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.description9Label.Color = this.getTextColour(8);
         this.mainBackgroundImage.addControl(this.description9Label);
         if (!GameEngine.Instance.World.InviteSystemNotImplemented)
         {
             this.level9Button.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
             this.level9Button.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
             this.level9Button.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
             this.level9Button.Position = new Point(num8, num9 + (8 * num));
             this.level9Button.Text.Text = SK.Text("FreeCardsPanel_Increase_Level", "Increase Level");
             this.level9Button.TextYOffset = -2;
             this.level9Button.Text.Color = this.getButtonTextColour(8);
             this.level9Button.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
             this.level9Button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.increaseLevel), "FreeCardsPanel_increase_level");
             this.level9Button.Data = 8;
             this.level9Button.Visible = this.isButtonVisible(8);
             this.level9Button.Enabled = this.isButtonEnabled(8);
             this.mainBackgroundImage.addControl(this.level9Button);
         }
         this.cards10Image.Image = (Image) this.getCardImage(9);
         this.cards10Image.Position = new Point(x, y + (9 * num));
         this.mainBackgroundImage.addControl(this.cards10Image);
         this.cards10Label.Position = new Point(-6, -5);
         this.cards10Label.Size = this.cards1Image.Size;
         this.cards10Label.Text = "14";
         this.cards10Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.cards10Label.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
         this.cards10Label.Color = ARGBColors.White;
         this.cards10Label.DropShadowColor = ARGBColors.Black;
         this.cards10Image.addControl(this.cards10Label);
         this.tick10Image.Image = (Image) this.getTickImage(9);
         this.tick10Image.Position = new Point(num4, num5 + (9 * num));
         this.mainBackgroundImage.addControl(this.tick10Image);
         this.description10Label.Position = new Point(num6, num7 + (9 * num));
         this.description10Label.Size = new Size(600, 0x40);
         this.description10Label.Text = SK.Text("FreeCardsPanel_Rank_Squire", "Get to Rank of Squire") + " (15)";
         this.description10Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
         this.description10Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.description10Label.Color = this.getTextColour(9);
         this.mainBackgroundImage.addControl(this.description10Label);
         if (!GameEngine.Instance.World.InviteSystemNotImplemented)
         {
             this.level10Button.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
             this.level10Button.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
             this.level10Button.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
             this.level10Button.Position = new Point(num8, num9 + (9 * num));
             this.level10Button.Text.Text = SK.Text("FreeCardsPanel_Increase_Level", "Increase Level");
             this.level10Button.TextYOffset = -2;
             this.level10Button.Text.Color = this.getButtonTextColour(9);
             this.level10Button.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
             this.level10Button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.increaseLevel), "FreeCardsPanel_increase_level");
             this.level10Button.Data = 9;
             this.level10Button.Visible = this.isButtonVisible(9);
             this.level10Button.Enabled = this.isButtonEnabled(9);
             this.mainBackgroundImage.addControl(this.level10Button);
         }
         if ((this.freeCardInfo.VeteranStages[2] && !this.isButtonVisible(3)) && !this.freeCardInfo.VeteranStages[3])
         {
             this.buyCrownsButton.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
             this.buyCrownsButton.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
             this.buyCrownsButton.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
             this.buyCrownsButton.Position = new Point(num8, num9 + (3 * num));
             this.buyCrownsButton.Text.Text = SK.Text("BuyCrownsPanel_Buy_Crowns", "Buy Crowns");
             this.buyCrownsButton.TextYOffset = -2;
             this.buyCrownsButton.Text.Color = ARGBColors.Black;
             this.buyCrownsButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
             this.buyCrownsButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.buyCrowns));
             this.buyCrownsButton.Data = 3;
             this.buyCrownsButton.Visible = true;
             this.buyCrownsButton.Enabled = true;
             this.mainBackgroundImage.addControl(this.buyCrownsButton);
         }
         else if ((this.freeCardInfo.VeteranStages[7] && !this.isButtonVisible(8)) && !this.freeCardInfo.VeteranStages[8])
         {
             this.buyCrownsButton.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
             this.buyCrownsButton.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
             this.buyCrownsButton.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
             this.buyCrownsButton.Position = new Point(num8, num9 + (8 * num));
             this.buyCrownsButton.Text.Text = SK.Text("BuyCrownsPanel_Buy_Crowns", "Buy Crowns");
             this.buyCrownsButton.TextYOffset = -2;
             this.buyCrownsButton.Text.Color = ARGBColors.Black;
             this.buyCrownsButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
             this.buyCrownsButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.buyCrowns));
             this.buyCrownsButton.Data = 3;
             this.buyCrownsButton.Visible = true;
             this.buyCrownsButton.Enabled = true;
             this.mainBackgroundImage.addControl(this.buyCrownsButton);
         }
     }
     else
     {
         this.parchmentImage.Image = (Image) GFXLibrary.you_got_free_card_screen_parchment;
         this.parchmentImage.Position = new Point(0xaf, 0x7d);
         this.mainBackgroundImage.addControl(this.parchmentImage);
         this.cardBackImage.Image = (Image) GFXLibrary.you_got_free_card_screen_cardback;
         this.cardBackImage.Position = new Point(0xe2, 40);
         this.parchmentImage.addControl(this.cardBackImage);
         this.revealButton.ImageNorm = (Image) GFXLibrary.cardpanel_button_blue_normal;
         this.revealButton.ImageOver = (Image) GFXLibrary.cardpanel_button_blue_over;
         this.revealButton.ImageClick = (Image) GFXLibrary.cardpanel_button_blue_pressed;
         this.revealButton.Position = new Point(0xf8, 310);
         this.revealButton.Text.Text = SK.Text("FreeCardsPanel_Reveal", "Reveal");
         this.revealButton.TextYOffset = -2;
         this.revealButton.Text.Color = ARGBColors.Black;
         this.revealButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.revealButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.revealCard), "FreeCardsPanel_reveal_card");
         this.parchmentImage.addControl(this.revealButton);
         if ((!GameEngine.Instance.World.isBigpointAccount && !Program.bigpointInstall) && (!Program.aeriaInstall && !Program.bigpointPartnerInstall))
         {
             CustomSelfDrawPanel.CSDButton button = new CustomSelfDrawPanel.CSDButton {
                 ImageNorm = (Image) GFXLibrary.banner_ad_friend,
                 OverBrighten = true,
                 Position = new Point(0xc9, (this.parchmentImage.Y + 400) - 10)
             };
             button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.friendClicked), "FreeCardsPanel_invite_friend");
             this.mainBackgroundImage.addControl(button);
         }
     }
     this.fanImage.Image = (Image) GFXLibrary.free_card_screen_card_fan;
     this.fanImage.Position = new Point(650, 6);
     this.mainBackgroundImage.addControl(this.fanImage);
     base.Invalidate();
 }
        public void updateFlags(CustomSelfDrawPanel.CSDFill fill, int fillBoxNumber)
        {
            int flag = 0;
            int num2 = 0;
            int num3 = 0;
            int num4 = 0;
            int num5 = 0;

            FactionData.getFlagData(this.factionFlagData, ref flag, ref num2, ref num3, ref num4, ref num5);
            if (flag == 0)
            {
                flag = 1;
            }
            if ((flag - 2) >= 1)
            {
                this.flagMinus2.Visible = true;
                this.flagMinus2.Image   = (Image)GFXLibrary.factionFlags[flag - 2];
            }
            else
            {
                this.flagMinus2.Visible = true;
                this.flagMinus2.Image   = (Image)GFXLibrary.factionFlags[(flag - 2) + 0x3f];
            }
            if ((flag - 1) >= 1)
            {
                this.flagMinus1.Visible = true;
                this.flagMinus1.Image   = (Image)GFXLibrary.factionFlags[flag - 1];
            }
            else
            {
                this.flagMinus1.Visible = true;
                this.flagMinus1.Image   = (Image)GFXLibrary.factionFlags[(flag - 1) + 0x3f];
            }
            if ((flag + 1) < GFXLibrary.factionFlags.Length)
            {
                this.flagPlus1.Visible = true;
                this.flagPlus1.Image   = (Image)GFXLibrary.factionFlags[flag + 1];
            }
            else
            {
                this.flagPlus1.Visible = true;
                this.flagPlus1.Image   = (Image)GFXLibrary.factionFlags[(flag + 1) - 0x3f];
            }
            if ((flag + 2) < GFXLibrary.factionFlags.Length)
            {
                this.flagPlus2.Visible = true;
                this.flagPlus2.Image   = (Image)GFXLibrary.factionFlags[flag + 2];
            }
            else
            {
                this.flagPlus2.Visible = true;
                this.flagPlus2.Image   = (Image)GFXLibrary.factionFlags[(flag + 2) - 0x3f];
            }
            this.selectedFlag.Image = (Image)GFXLibrary.factionFlags[flag];
            ColorMap[] mapArray = FactionData.getColourMap(num2, num3, num4, num5, 0xff);
            this.selectedFlag.ColourMap    = mapArray;
            this.flagMinus2.ColourMap      = mapArray;
            this.flagMinus1.ColourMap      = mapArray;
            this.flagPlus1.ColourMap       = mapArray;
            this.flagPlus2.ColourMap       = mapArray;
            this.selectedColour1.Position  = this.colours1[num2].Position;
            this.selectedColour2.Position  = this.colours2[num3].Position;
            this.selectedColour3.Position  = this.colours3[num4].Position;
            this.selectedColour4.Position  = this.colours4[num5].Position;
            this.selectedColour1.LineColor = ARGBColors.Black;
            this.selectedColour2.LineColor = ARGBColors.Black;
            this.selectedColour3.LineColor = ARGBColors.Black;
            this.selectedColour4.LineColor = ARGBColors.Black;
            switch (num2)
            {
            case 11:
            case 14:
            case 15:
            case 1:
            case 0x16:
            case 0x19:
            case 0x1a:
            case 0x1b:
                this.selectedColour1.LineColor = ARGBColors.White;
                break;
            }
            switch (num3)
            {
            case 11:
            case 14:
            case 15:
            case 1:
            case 0x16:
            case 0x19:
            case 0x1a:
            case 0x1b:
                this.selectedColour2.LineColor = ARGBColors.White;
                break;
            }
            switch (num4)
            {
            case 11:
            case 14:
            case 15:
            case 1:
            case 0x16:
            case 0x19:
            case 0x1a:
            case 0x1b:
                this.selectedColour3.LineColor = ARGBColors.White;
                break;
            }
            switch (num5)
            {
            case 11:
            case 14:
            case 15:
            case 1:
            case 0x16:
            case 0x19:
            case 0x1a:
            case 0x1b:
                this.selectedColour4.LineColor = ARGBColors.White;
                break;
            }
            base.Invalidate();
        }
 public void init(bool initialCall)
 {
     CustomSelfDrawPanel.CSDImage image2;
     Instance = this;
     base.clearControls();
     this.mainBackgroundImage.Image = GFXLibrary.dummy;
     this.mainBackgroundImage.Position = new Point(0, 0);
     this.mainBackgroundImage.Size = base.Size;
     this.mainBackgroundImage.Tile = true;
     base.addControl(this.mainBackgroundImage);
     this.MainPanel.Size = base.Size;
     this.MainPanel.Position = new Point(0, 0);
     this.mainBackgroundImage.addControl(this.MainPanel);
     this.MainPanel.Create((Image) GFXLibrary.cardpanel_panel_back_top_left, (Image) GFXLibrary.cardpanel_panel_back_top_mid, (Image) GFXLibrary.cardpanel_panel_back_top_right, (Image) GFXLibrary.cardpanel_panel_back_mid_left, (Image) GFXLibrary.cardpanel_panel_back_mid_mid, (Image) GFXLibrary.cardpanel_panel_back_mid_right, (Image) GFXLibrary.cardpanel_panel_back_bottom_left, (Image) GFXLibrary.cardpanel_panel_back_bottom_mid, (Image) GFXLibrary.cardpanel_panel_back_bottom_right);
     CustomSelfDrawPanel.CSDImage control = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_top_left,
         Size = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
         Position = new Point(0, 0)
     };
     this.MainPanel.addControl(control);
     image2 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_bottom_right,
         Size = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
         Position = new Point((this.MainPanel.Width - ((Image)GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (this.MainPanel.Height - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
     };
     this.MainPanel.addControl(image2);
     this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal;
     this.closeImage.Size = this.closeImage.Image.Size;
     this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick), "Cards_Close");
     this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
     this.closeImage.CustomTooltipID = 0x2774;
     this.mainBackgroundImage.addControl(this.closeImage);
     CustomSelfDrawPanel.WikiLinkControl.init(this.mainBackgroundImage, 0x20, new Point((base.Width - 40) - 40, 2));
     CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
         FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
         Size = new Size(base.Width - 10, 1),
         Position = new Point(5, 0x22)
     };
     this.mainBackgroundImage.addControl(fill);
     int x = 10;
     int num2 = 0x2d;
     int num3 = 160;
     int y = 110;
     this.questWheelButton.ImageNorm = (Image) GFXLibrary.wheel_spinButton_royal[0];
     this.questWheelButton.ImageOver = (Image) GFXLibrary.wheel_spinButton_royal[1];
     this.questWheelButton.Data = -1;
     this.questWheelButton.MoveOnClick = false;
     this.questWheelButton.Position = new Point(x, y);
     this.questWheelButton.Text.Text = GameEngine.Instance.World.getTickets(this.questWheelButton.Data).ToString();
     this.questWheelButton.TextYOffset = 0x20;
     this.questWheelButton.Text.Color = ARGBColors.Black;
     this.questWheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
     this.questWheelButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.questWheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
     this.mainBackgroundImage.addControl(this.questWheelButton);
     this.questWheelButton.Enabled = GameEngine.Instance.World.getTickets(this.questWheelButton.Data) > 0;
     this.treasure1WheelButton.ImageNorm = (Image) GFXLibrary.wheel_spinButton_royal[0];
     this.treasure1WheelButton.ImageOver = (Image) GFXLibrary.wheel_spinButton_royal[1];
     this.treasure1WheelButton.Data = 0;
     this.treasure1WheelButton.MoveOnClick = false;
     this.treasure1WheelButton.Position = new Point((x + num2) + num3, y);
     this.treasure1WheelButton.Text.Text = GameEngine.Instance.World.getTickets(this.treasure1WheelButton.Data).ToString();
     this.treasure1WheelButton.TextYOffset = 0x20;
     this.treasure1WheelButton.Text.Color = ARGBColors.Black;
     this.treasure1WheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
     this.treasure1WheelButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasure1WheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
     this.mainBackgroundImage.addControl(this.treasure1WheelButton);
     this.treasure1WheelButton.Enabled = GameEngine.Instance.World.getTickets(this.treasure1WheelButton.Data) > 0;
     this.treasure2WheelButton.ImageNorm = (Image) GFXLibrary.wheel_spinButton_royal[0];
     this.treasure2WheelButton.ImageOver = (Image) GFXLibrary.wheel_spinButton_royal[1];
     this.treasure2WheelButton.Data = 1;
     this.treasure2WheelButton.MoveOnClick = false;
     this.treasure2WheelButton.Position = new Point((x + num2) + (num3 * 2), y);
     this.treasure2WheelButton.Text.Text = GameEngine.Instance.World.getTickets(this.treasure2WheelButton.Data).ToString();
     this.treasure2WheelButton.TextYOffset = 0x20;
     this.treasure2WheelButton.Text.Color = ARGBColors.Black;
     this.treasure2WheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
     this.treasure2WheelButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasure2WheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
     this.mainBackgroundImage.addControl(this.treasure2WheelButton);
     this.treasure2WheelButton.Enabled = GameEngine.Instance.World.getTickets(this.treasure2WheelButton.Data) > 0;
     this.treasure3WheelButton.ImageNorm = (Image) GFXLibrary.wheel_spinButton_royal[0];
     this.treasure3WheelButton.ImageOver = (Image) GFXLibrary.wheel_spinButton_royal[1];
     this.treasure3WheelButton.Data = 2;
     this.treasure3WheelButton.MoveOnClick = false;
     this.treasure3WheelButton.Position = new Point((x + num2) + (num3 * 3), y);
     this.treasure3WheelButton.Text.Text = GameEngine.Instance.World.getTickets(this.treasure3WheelButton.Data).ToString();
     this.treasure3WheelButton.TextYOffset = 0x20;
     this.treasure3WheelButton.Text.Color = ARGBColors.Black;
     this.treasure3WheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
     this.treasure3WheelButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasure3WheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
     this.mainBackgroundImage.addControl(this.treasure3WheelButton);
     this.treasure3WheelButton.Enabled = GameEngine.Instance.World.getTickets(this.treasure3WheelButton.Data) > 0;
     this.treasure4WheelButton.ImageNorm = (Image) GFXLibrary.wheel_spinButton_royal[0];
     this.treasure4WheelButton.ImageOver = (Image) GFXLibrary.wheel_spinButton_royal[1];
     this.treasure4WheelButton.Data = 3;
     this.treasure4WheelButton.MoveOnClick = false;
     this.treasure4WheelButton.Position = new Point((x + num2) + (num3 * 4), y);
     this.treasure4WheelButton.Text.Text = GameEngine.Instance.World.getTickets(this.treasure4WheelButton.Data).ToString();
     this.treasure4WheelButton.TextYOffset = 0x20;
     this.treasure4WheelButton.Text.Color = ARGBColors.Black;
     this.treasure4WheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
     this.treasure4WheelButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasure4WheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
     this.mainBackgroundImage.addControl(this.treasure4WheelButton);
     this.treasure4WheelButton.Enabled = GameEngine.Instance.World.getTickets(this.treasure4WheelButton.Data) > 0;
     this.treasure5WheelButton.ImageNorm = (Image) GFXLibrary.wheel_spinButton_royal[0];
     this.treasure5WheelButton.ImageOver = (Image) GFXLibrary.wheel_spinButton_royal[1];
     this.treasure5WheelButton.Data = 4;
     this.treasure5WheelButton.MoveOnClick = false;
     this.treasure5WheelButton.Position = new Point((x + num2) + (num3 * 5), y);
     this.treasure5WheelButton.Text.Text = GameEngine.Instance.World.getTickets(this.treasure5WheelButton.Data).ToString();
     this.treasure5WheelButton.TextYOffset = 0x20;
     this.treasure5WheelButton.Text.Color = ARGBColors.Black;
     this.treasure5WheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
     this.treasure5WheelButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasure5WheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
     this.mainBackgroundImage.addControl(this.treasure5WheelButton);
     this.treasure5WheelButton.Enabled = GameEngine.Instance.World.getTickets(this.treasure5WheelButton.Data) > 0;
     this.labelTitle.Text = SK.Text("WheelSelectPanel_SelectType", "Select Wheel Type");
     this.labelTitle.Position = new Point(0, 5);
     this.labelTitle.Size = new Size(base.Width, 0x40);
     this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.labelTitle.Font = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
     this.labelTitle.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelTitle);
     this.questLabel.Text = SK.Text("WheelSelectPanel_Quest", "Quest");
     this.questLabel.Position = new Point(this.questWheelButton.X - 8, 50);
     this.questLabel.Size = new Size(150, 0x40);
     this.questLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.questLabel.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.questLabel.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.questLabel);
     this.treasureLabel.Text = SK.Text("WheelSelectPanel_Treasure", "Treasure Castle");
     this.treasureLabel.Position = new Point(0xca, 50);
     this.treasureLabel.Size = new Size(800, 0x40);
     this.treasureLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.treasureLabel.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasureLabel.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.treasureLabel);
     this.treasureTier1Label.Text = SK.Text("WheelSelectPanel_Tier1", "Tier 1");
     this.treasureTier1Label.Position = new Point(this.treasure1WheelButton.X - 8, 80);
     this.treasureTier1Label.Size = new Size(150, 0x40);
     this.treasureTier1Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.treasureTier1Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasureTier1Label.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.treasureTier1Label);
     this.treasureTier2Label.Text = SK.Text("WheelSelectPanel_Tier2", "Tier 2");
     this.treasureTier2Label.Position = new Point(this.treasure2WheelButton.X - 8, 80);
     this.treasureTier2Label.Size = new Size(150, 0x40);
     this.treasureTier2Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.treasureTier2Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasureTier2Label.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.treasureTier2Label);
     this.treasureTier3Label.Text = SK.Text("WheelSelectPanel_Tier3", "Tier 3");
     this.treasureTier3Label.Position = new Point(this.treasure3WheelButton.X - 8, 80);
     this.treasureTier3Label.Size = new Size(150, 0x40);
     this.treasureTier3Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.treasureTier3Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasureTier3Label.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.treasureTier3Label);
     this.treasureTier4Label.Text = SK.Text("WheelSelectPanel_Tier4", "Tier 4");
     this.treasureTier4Label.Position = new Point(this.treasure4WheelButton.X - 8, 80);
     this.treasureTier4Label.Size = new Size(150, 0x40);
     this.treasureTier4Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.treasureTier4Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasureTier4Label.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.treasureTier4Label);
     this.treasureTier5Label.Text = SK.Text("WheelSelectPanel_Tier5", "Tier 5");
     this.treasureTier5Label.Position = new Point(this.treasure5WheelButton.X - 8, 80);
     this.treasureTier5Label.Size = new Size(150, 0x40);
     this.treasureTier5Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.treasureTier5Label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.treasureTier5Label.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.treasureTier5Label);
 }
        public void init(bool initialCall)
        {
            CustomSelfDrawPanel.CSDImage image2;
            Instance = this;
            base.clearControls();
            this.mainBackgroundImage.Image    = GFXLibrary.dummy;
            this.mainBackgroundImage.Position = new Point(0, 0);
            this.mainBackgroundImage.Size     = base.Size;
            this.mainBackgroundImage.Tile     = true;
            base.addControl(this.mainBackgroundImage);
            this.MainPanel.Size     = base.Size;
            this.MainPanel.Position = new Point(0, 0);
            this.mainBackgroundImage.addControl(this.MainPanel);
            this.MainPanel.Create((Image)GFXLibrary.cardpanel_panel_back_top_left, (Image)GFXLibrary.cardpanel_panel_back_top_mid, (Image)GFXLibrary.cardpanel_panel_back_top_right, (Image)GFXLibrary.cardpanel_panel_back_mid_left, (Image)GFXLibrary.cardpanel_panel_back_mid_mid, (Image)GFXLibrary.cardpanel_panel_back_mid_right, (Image)GFXLibrary.cardpanel_panel_back_bottom_left, (Image)GFXLibrary.cardpanel_panel_back_bottom_mid, (Image)GFXLibrary.cardpanel_panel_back_bottom_right);
            CustomSelfDrawPanel.CSDImage control = new CustomSelfDrawPanel.CSDImage {
                Image    = (Image)GFXLibrary.cardpanel_panel_gradient_top_left,
                Size     = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
                Position = new Point(0, 0)
            };
            this.MainPanel.addControl(control);
            image2 = new CustomSelfDrawPanel.CSDImage {
                Image    = (Image)GFXLibrary.cardpanel_panel_gradient_bottom_right,
                Size     = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
                Position = new Point((this.MainPanel.Width - ((Image)GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (this.MainPanel.Height - ((Image)GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
            };
            this.MainPanel.addControl(image2);
            this.closeImage.Image = (Image)GFXLibrary.cardpanel_button_close_normal;
            this.closeImage.Size  = this.closeImage.Image.Size;
            this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image)GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image)GFXLibrary.cardpanel_button_close_normal);
            this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick), "Cards_Close");
            this.closeImage.Position        = new Point((base.Width - 14) - 0x11, 10);
            this.closeImage.CustomTooltipID = 0x2774;
            this.mainBackgroundImage.addControl(this.closeImage);
            CustomSelfDrawPanel.WikiLinkControl.init(this.mainBackgroundImage, 0x20, new Point((base.Width - 40) - 40, 2));
            CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
                FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
                Size      = new Size(base.Width - 10, 1),
                Position  = new Point(5, 0x22)
            };
            this.mainBackgroundImage.addControl(fill);
            int x    = 10;
            int num2 = 0x2d;
            int num3 = 160;
            int y    = 110;

            this.questWheelButton.ImageNorm            = (Image)GFXLibrary.wheel_spinButton_royal[0];
            this.questWheelButton.ImageOver            = (Image)GFXLibrary.wheel_spinButton_royal[1];
            this.questWheelButton.Data                 = -1;
            this.questWheelButton.MoveOnClick          = false;
            this.questWheelButton.Position             = new Point(x, y);
            this.questWheelButton.Text.Text            = GameEngine.Instance.World.getTickets(this.questWheelButton.Data).ToString();
            this.questWheelButton.TextYOffset          = 0x20;
            this.questWheelButton.Text.Color           = ARGBColors.Black;
            this.questWheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
            this.questWheelButton.Text.Font            = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.questWheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
            this.mainBackgroundImage.addControl(this.questWheelButton);
            this.questWheelButton.Enabled                  = GameEngine.Instance.World.getTickets(this.questWheelButton.Data) > 0;
            this.treasure1WheelButton.ImageNorm            = (Image)GFXLibrary.wheel_spinButton_royal[0];
            this.treasure1WheelButton.ImageOver            = (Image)GFXLibrary.wheel_spinButton_royal[1];
            this.treasure1WheelButton.Data                 = 0;
            this.treasure1WheelButton.MoveOnClick          = false;
            this.treasure1WheelButton.Position             = new Point((x + num2) + num3, y);
            this.treasure1WheelButton.Text.Text            = GameEngine.Instance.World.getTickets(this.treasure1WheelButton.Data).ToString();
            this.treasure1WheelButton.TextYOffset          = 0x20;
            this.treasure1WheelButton.Text.Color           = ARGBColors.Black;
            this.treasure1WheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
            this.treasure1WheelButton.Text.Font            = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasure1WheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
            this.mainBackgroundImage.addControl(this.treasure1WheelButton);
            this.treasure1WheelButton.Enabled              = GameEngine.Instance.World.getTickets(this.treasure1WheelButton.Data) > 0;
            this.treasure2WheelButton.ImageNorm            = (Image)GFXLibrary.wheel_spinButton_royal[0];
            this.treasure2WheelButton.ImageOver            = (Image)GFXLibrary.wheel_spinButton_royal[1];
            this.treasure2WheelButton.Data                 = 1;
            this.treasure2WheelButton.MoveOnClick          = false;
            this.treasure2WheelButton.Position             = new Point((x + num2) + (num3 * 2), y);
            this.treasure2WheelButton.Text.Text            = GameEngine.Instance.World.getTickets(this.treasure2WheelButton.Data).ToString();
            this.treasure2WheelButton.TextYOffset          = 0x20;
            this.treasure2WheelButton.Text.Color           = ARGBColors.Black;
            this.treasure2WheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
            this.treasure2WheelButton.Text.Font            = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasure2WheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
            this.mainBackgroundImage.addControl(this.treasure2WheelButton);
            this.treasure2WheelButton.Enabled              = GameEngine.Instance.World.getTickets(this.treasure2WheelButton.Data) > 0;
            this.treasure3WheelButton.ImageNorm            = (Image)GFXLibrary.wheel_spinButton_royal[0];
            this.treasure3WheelButton.ImageOver            = (Image)GFXLibrary.wheel_spinButton_royal[1];
            this.treasure3WheelButton.Data                 = 2;
            this.treasure3WheelButton.MoveOnClick          = false;
            this.treasure3WheelButton.Position             = new Point((x + num2) + (num3 * 3), y);
            this.treasure3WheelButton.Text.Text            = GameEngine.Instance.World.getTickets(this.treasure3WheelButton.Data).ToString();
            this.treasure3WheelButton.TextYOffset          = 0x20;
            this.treasure3WheelButton.Text.Color           = ARGBColors.Black;
            this.treasure3WheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
            this.treasure3WheelButton.Text.Font            = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasure3WheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
            this.mainBackgroundImage.addControl(this.treasure3WheelButton);
            this.treasure3WheelButton.Enabled              = GameEngine.Instance.World.getTickets(this.treasure3WheelButton.Data) > 0;
            this.treasure4WheelButton.ImageNorm            = (Image)GFXLibrary.wheel_spinButton_royal[0];
            this.treasure4WheelButton.ImageOver            = (Image)GFXLibrary.wheel_spinButton_royal[1];
            this.treasure4WheelButton.Data                 = 3;
            this.treasure4WheelButton.MoveOnClick          = false;
            this.treasure4WheelButton.Position             = new Point((x + num2) + (num3 * 4), y);
            this.treasure4WheelButton.Text.Text            = GameEngine.Instance.World.getTickets(this.treasure4WheelButton.Data).ToString();
            this.treasure4WheelButton.TextYOffset          = 0x20;
            this.treasure4WheelButton.Text.Color           = ARGBColors.Black;
            this.treasure4WheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
            this.treasure4WheelButton.Text.Font            = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasure4WheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
            this.mainBackgroundImage.addControl(this.treasure4WheelButton);
            this.treasure4WheelButton.Enabled              = GameEngine.Instance.World.getTickets(this.treasure4WheelButton.Data) > 0;
            this.treasure5WheelButton.ImageNorm            = (Image)GFXLibrary.wheel_spinButton_royal[0];
            this.treasure5WheelButton.ImageOver            = (Image)GFXLibrary.wheel_spinButton_royal[1];
            this.treasure5WheelButton.Data                 = 4;
            this.treasure5WheelButton.MoveOnClick          = false;
            this.treasure5WheelButton.Position             = new Point((x + num2) + (num3 * 5), y);
            this.treasure5WheelButton.Text.Text            = GameEngine.Instance.World.getTickets(this.treasure5WheelButton.Data).ToString();
            this.treasure5WheelButton.TextYOffset          = 0x20;
            this.treasure5WheelButton.Text.Color           = ARGBColors.Black;
            this.treasure5WheelButton.Text.DropShadowColor = Color.FromArgb(160, 160, 160);
            this.treasure5WheelButton.Text.Font            = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasure5WheelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.openWheel));
            this.mainBackgroundImage.addControl(this.treasure5WheelButton);
            this.treasure5WheelButton.Enabled = GameEngine.Instance.World.getTickets(this.treasure5WheelButton.Data) > 0;
            this.labelTitle.Text      = SK.Text("WheelSelectPanel_SelectType", "Select Wheel Type");
            this.labelTitle.Position  = new Point(0, 5);
            this.labelTitle.Size      = new Size(base.Width, 0x40);
            this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
            this.labelTitle.Font      = FontManager.GetFont("Arial", 18f, FontStyle.Bold);
            this.labelTitle.Color     = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.labelTitle);
            this.questLabel.Text      = SK.Text("WheelSelectPanel_Quest", "Quest");
            this.questLabel.Position  = new Point(this.questWheelButton.X - 8, 50);
            this.questLabel.Size      = new Size(150, 0x40);
            this.questLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
            this.questLabel.Font      = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.questLabel.Color     = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.questLabel);
            this.treasureLabel.Text      = SK.Text("WheelSelectPanel_Treasure", "Treasure Castle");
            this.treasureLabel.Position  = new Point(0xca, 50);
            this.treasureLabel.Size      = new Size(800, 0x40);
            this.treasureLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
            this.treasureLabel.Font      = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasureLabel.Color     = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.treasureLabel);
            this.treasureTier1Label.Text      = SK.Text("WheelSelectPanel_Tier1", "Tier 1");
            this.treasureTier1Label.Position  = new Point(this.treasure1WheelButton.X - 8, 80);
            this.treasureTier1Label.Size      = new Size(150, 0x40);
            this.treasureTier1Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
            this.treasureTier1Label.Font      = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasureTier1Label.Color     = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.treasureTier1Label);
            this.treasureTier2Label.Text      = SK.Text("WheelSelectPanel_Tier2", "Tier 2");
            this.treasureTier2Label.Position  = new Point(this.treasure2WheelButton.X - 8, 80);
            this.treasureTier2Label.Size      = new Size(150, 0x40);
            this.treasureTier2Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
            this.treasureTier2Label.Font      = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasureTier2Label.Color     = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.treasureTier2Label);
            this.treasureTier3Label.Text      = SK.Text("WheelSelectPanel_Tier3", "Tier 3");
            this.treasureTier3Label.Position  = new Point(this.treasure3WheelButton.X - 8, 80);
            this.treasureTier3Label.Size      = new Size(150, 0x40);
            this.treasureTier3Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
            this.treasureTier3Label.Font      = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasureTier3Label.Color     = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.treasureTier3Label);
            this.treasureTier4Label.Text      = SK.Text("WheelSelectPanel_Tier4", "Tier 4");
            this.treasureTier4Label.Position  = new Point(this.treasure4WheelButton.X - 8, 80);
            this.treasureTier4Label.Size      = new Size(150, 0x40);
            this.treasureTier4Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
            this.treasureTier4Label.Font      = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasureTier4Label.Color     = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.treasureTier4Label);
            this.treasureTier5Label.Text      = SK.Text("WheelSelectPanel_Tier5", "Tier 5");
            this.treasureTier5Label.Position  = new Point(this.treasure5WheelButton.X - 8, 80);
            this.treasureTier5Label.Size      = new Size(150, 0x40);
            this.treasureTier5Label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
            this.treasureTier5Label.Font      = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
            this.treasureTier5Label.Color     = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.treasureTier5Label);
        }
 public void init(int cardSection)
 {
     CustomSelfDrawPanel.CSDImage image2;
     this.currentCardSection = cardSection;
     base.clearControls();
     this.mainBackgroundImage.Image = GFXLibrary.dummy;
     this.mainBackgroundImage.Position = new Point(0, 0);
     this.mainBackgroundImage.Size = base.Size;
     this.mainBackgroundImage.Tile = true;
     base.addControl(this.mainBackgroundImage);
     this.ContentWidth = base.Width - (2 * BorderPadding);
     this.AvailablePanelWidth = 800;
     CustomSelfDrawPanel.CSDExtendingPanel control = new CustomSelfDrawPanel.CSDExtendingPanel {
         Size = base.Size,
         Position = new Point(0, 0)
     };
     this.mainBackgroundImage.addControl(control);
     control.Create((Image) GFXLibrary.cardpanel_panel_back_top_left, (Image) GFXLibrary.cardpanel_panel_back_top_mid, (Image) GFXLibrary.cardpanel_panel_back_top_right, (Image) GFXLibrary.cardpanel_panel_back_mid_left, (Image) GFXLibrary.cardpanel_panel_back_mid_mid, (Image) GFXLibrary.cardpanel_panel_back_mid_right, (Image) GFXLibrary.cardpanel_panel_back_bottom_left, (Image) GFXLibrary.cardpanel_panel_back_bottom_mid, (Image) GFXLibrary.cardpanel_panel_back_bottom_right);
     CustomSelfDrawPanel.CSDImage image = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_top_left,
         Size = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
         Position = new Point(0, 0)
     };
     control.addControl(image);
     image2 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_bottom_right,
         Size = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
         Position = new Point((control.Width - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (control.Height - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
     };
     control.addControl(image2);
     this.AvailablePanel = new CustomSelfDrawPanel.CSDExtendingPanel();
     this.AvailablePanel.Size = new Size(this.AvailablePanelWidth, 550);
     this.AvailablePanel.Position = new Point(8, (base.Height - 8) - 550);
     this.AvailablePanel.Alpha = 0.8f;
     int width = base.Width;
     int borderPadding = BorderPadding;
     int num9 = this.AvailablePanel.Width;
     this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal;
     this.closeImage.Size = this.closeImage.Image.Size;
     this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick));
     this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
     this.mainBackgroundImage.addControl(this.closeImage);
     CustomSelfDrawPanel.WikiLinkControl.init(this.mainBackgroundImage, 0x26, new Point((((base.Width - 1) - 0x11) - 50) + 3, 5), true);
     CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
         FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
         Size = new Size(base.Width - 10, 1),
         Position = new Point(5, 0x22)
     };
     this.mainBackgroundImage.addControl(fill);
     this.greyout.FillColor = Color.FromArgb(0xd7, 0x19, 0x19, 0x19);
     this.greyout.Size = new Size(this.mainBackgroundImage.Width, this.AvailablePanel.Y + this.AvailablePanel.Height);
     this.greyout.Position = new Point(0, 0);
     this.greyout.setClickDelegate(delegate {
     });
     CustomSelfDrawPanel.CSDImage closeGrey = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_button_close_normal,
         Size = this.closeImage.Image.Size
     };
     closeGrey.setMouseOverDelegate(() => closeGrey.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => closeGrey.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     closeGrey.Position = new Point((base.Width - 14) - 0x11, 10);
     this.greyout.addControl(closeGrey);
     this.labelTitle.Position = new Point(0x1b, 8);
     this.labelTitle.Size = new Size(0x3a7, 0x40);
     this.labelTitle.Text = SK.Text("BuyCrownsPanel_Buy_Crowns", "Buy Crowns");
     this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelTitle.Font = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
     this.labelTitle.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelTitle);
     CustomSelfDrawPanel.UICardsButtons buttons = new CustomSelfDrawPanel.UICardsButtons((PlayCardsWindow) base.ParentForm) {
         Position = new Point(0x328, 0x25)
     };
     this.mainBackgroundImage.addControl(buttons);
     this.cardButtons = buttons;
     List<ProductInfo> productList = new List<ProductInfo>();
     if (Program.steamActive)
     {
         this.PlayerCountry = "UK";
         this.PlayerCurrency = "GBP";
         this.PlayerLanguage = MySettings.load().LanguageIdent;
         XmlRpcAuthProvider provider = XmlRpcAuthProvider.CreateForEndpoint(URLs.ProfileProtocol, URLs.ProfileServerAddressLogin, URLs.ProfileServerPort, URLs.ProfilePath);
         XmlRpcAuthRequest req = new XmlRpcAuthRequest(RemoteServices.Instance.UserGuid.ToString().Replace("-", ""), "", "", "", null, null, null, null) {
             SteamID = Program.steamID,
             SessionID = RemoteServices.Instance.SessionGuid.ToString().Replace("-", ""),
             Culture = this.PlayerLanguage,
             Currency = this.PlayerCurrency,
             Country = this.PlayerCountry
         };
         productList = provider.SteamGetProductList(req, null, this, 0x3a98).ProductList;
     }
     else if (Program.aeriaInstall)
     {
         XmlRpcAuthProvider provider2 = XmlRpcAuthProvider.CreateForEndpoint(URLs.ProfileProtocol, URLs.ProfileServerAddressLogin, URLs.ProfileServerPort, URLs.ProfilePath);
         XmlRpcAuthRequest request2 = new XmlRpcAuthRequest(RemoteServices.Instance.UserGuid.ToString().Replace("-", ""), "", "", "", null, null, null, null);
         XmlRpcAuthResponse response = null;
         this.storedAeriaPoints = provider2.AeriaGetBalance(request2, null, this, 0x3a98, ref response);
         productList = response.ProductList;
         this.buyAPButton.ImageNorm = (Image) GFXLibrary.misc_button_blue_210wide_normal;
         this.buyAPButton.ImageOver = (Image) GFXLibrary.misc_button_blue_210wide_over;
         this.buyAPButton.ImageClick = (Image) GFXLibrary.misc_button_blue_210wide_pushed;
         this.buyAPButton.Position = new Point(0x13d, 0x49);
         this.buyAPButton.Text.Text = this.storedAeriaPoints.ToString();
         this.buyAPButton.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_RIGHT;
         this.buyAPButton.Text.Size = new Size((this.buyAPButton.Width / 2) - 3, this.buyAPButton.Height);
         this.buyAPButton.TextYOffset = -2;
         this.buyAPButton.Text.Color = ARGBColors.Black;
         this.buyAPButton.ImageIcon = (Image) GFXLibrary.aeriaPoints;
         this.buyAPButton.ImageIconPosition = new Point((this.buyAPButton.Width / 2) + 3, 1);
         this.buyAPButton.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
         this.buyAPButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.purchaseAP));
         this.buyAPButton.CustomTooltipID = 0x286e;
         this.mainBackgroundImage.addControl(this.buyAPButton);
     }
     int y = 0x42;
     int num2 = 0x5e;
     int num3 = -1;
     if (Program.aeriaInstall)
     {
         y = 0x84;
     }
     NumberFormatInfo nFI = GameEngine.NFI;
     NumberFormatInfo info2 = GameEngine.NFI_D2;
     foreach (ProductInfo info3 in productList)
     {
         num3++;
         int x = num2;
         if (Program.steamActive)
         {
             if (num3 > 3)
             {
                 if (num3 == 4)
                 {
                     y = 0x84;
                 }
                 x += 350;
             }
         }
         else if (Program.aeriaInstall && (num3 > 2))
         {
             if (num3 == 3)
             {
                 y = 0x84;
             }
             x += 350;
         }
         CustomSelfDrawPanel.CSDLabel label = new CustomSelfDrawPanel.CSDLabel();
         CustomSelfDrawPanel.CSDLabel label2 = new CustomSelfDrawPanel.CSDLabel();
         CustomSelfDrawPanel.CSDLabel label3 = new CustomSelfDrawPanel.CSDLabel();
         CustomSelfDrawPanel.CSDLabel label4 = new CustomSelfDrawPanel.CSDLabel();
         CustomSelfDrawPanel.CSDLabel label5 = new CustomSelfDrawPanel.CSDLabel();
         CustomSelfDrawPanel.CSDImage image3 = new CustomSelfDrawPanel.CSDImage();
         CustomSelfDrawPanel.CSDImage crownsbutton = new CustomSelfDrawPanel.CSDImage();
         CustomSelfDrawPanel.CSDImage orderbutton = new CustomSelfDrawPanel.CSDImage();
         crownsbutton.Image = (Image) GFXLibrary.cardpanel_payment_button_crowns_normal;
         crownsbutton.Position = new Point(x, y);
         crownsbutton.Height = crownsbutton.Image.Height;
         crownsbutton.Width = crownsbutton.Image.Width;
         crownsbutton.setMouseOverDelegate(() => crownsbutton.Image = (Image) GFXLibrary.cardpanel_payment_button_crowns_over, () => crownsbutton.Image = (Image) GFXLibrary.cardpanel_payment_button_crowns_normal);
         crownsbutton.Tag = info3;
         crownsbutton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
         this.mainBackgroundImage.addControl(crownsbutton);
         x += crownsbutton.Width + 0x20;
         orderbutton.Image = (Image) GFXLibrary.cardpanel_payment_button_greywhite_normal;
         orderbutton.Position = new Point(x, (y + 0x12) + 3);
         orderbutton.Height = orderbutton.Image.Height;
         orderbutton.Width = orderbutton.Image.Width;
         orderbutton.setMouseOverDelegate(() => orderbutton.Image = (Image) GFXLibrary.cardpanel_payment_button_greywhite_over, () => orderbutton.Image = (Image) GFXLibrary.cardpanel_payment_button_greywhite_normal);
         orderbutton.Tag = info3;
         orderbutton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
         label5.Text = this.strOrderNow;
         label5.Position = new Point(0, 0);
         label5.Width = orderbutton.Width;
         label5.Height = orderbutton.Height;
         label5.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         label5.Font = FontManager.GetFont("Arial", 14f, FontStyle.Bold);
         orderbutton.addControl(label5);
         label5.Tag = info3;
         label5.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
         int num5 = 14;
         int num6 = 0;
         if (Program.mySettings.LanguageIdent == "fr")
         {
             num5 = 13;
             num6 = -5;
         }
         label.Text = info3.Strikethrough.ToString();
         label.Position = new Point(0x74 + num6, 0x15);
         label.Width = 300;
         label.Height = 0x18;
         label.Font = FontManager.GetFont("Arial", (float) num5, FontStyle.Strikeout);
         label.Color = ARGBColors.Black;
         crownsbutton.addControl(label);
         label.Tag = info3;
         label.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
         label.Size = label.TextSizeX;
         label2.Text = info3.Crowns.ToString();
         label2.Position = new Point(label.X + label.Width, label.Y);
         label2.Font = FontManager.GetFont("Arial", (float) num5, FontStyle.Bold);
         label2.Color = ARGBColors.Purple;
         label2.Width = 300;
         label2.Height = 0x18;
         crownsbutton.addControl(label2);
         label2.Tag = info3;
         label2.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
         label2.Size = label2.TextSizeX;
         label3.Text = this.strCrowns;
         label3.Position = new Point((label2.X + label2.Width) + num6, label2.Y);
         label3.Font = FontManager.GetFont("Arial", (float) num5, FontStyle.Bold);
         label3.Color = ARGBColors.Black;
         label3.Size = new Size(300, 0x18);
         crownsbutton.addControl(label3);
         label3.Tag = info3;
         label3.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
         label3.Size = label3.TextSizeX;
         if (Program.aeriaInstall)
         {
             label4.Text = " " + ((int) info3.Cost).ToString("F", nFI);
         }
         else
         {
             label4.Text = info3.Currency + " " + info3.Cost.ToString("F", info2);
         }
         label4.Position = new Point(label.X, (label.Y + label.Height) + 4);
         label4.Font = FontManager.GetFont("Arial", 14f, FontStyle.Bold);
         label4.Color = ARGBColors.Black;
         label4.Size = new Size(300, 0x18);
         crownsbutton.addControl(label4);
         label4.Tag = info3;
         label4.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
         label4.Size = label4.TextSizeX;
         if (Program.aeriaInstall)
         {
             image3.Image = (Image) GFXLibrary.aeriaPoints;
             label4.Position = new Point(label.X + 20, label.Y + label.Height);
             image3.Position = new Point(label.X, (((label.Y + label.Height) + 4) - 2) - 3);
             image3.Tag = info3;
             crownsbutton.addControl(image3);
         }
         y += crownsbutton.Height + 40;
     }
     this.mainBackgroundImage.invalidate();
 }
 public void init(int currentResource, SelectTradingResourcePopup parentWindow, LogoutPanel logoutParent)
 {
     this.m_parentWindow = parentWindow;
     this.m_logoutParent = logoutParent;
     base.clearControls();
     int width = 12;
     this.backgroundImage.Size = new Size(0x270, 0x144);
     CustomSelfDrawPanel.CSDFill control = new CustomSelfDrawPanel.CSDFill {
         Position = new Point(0, 0),
         Size = new Size(width, this.backgroundImage.Height),
         FillColor = Color.FromArgb(0xff, 0, 0xff)
     };
     base.addControl(control);
     CustomSelfDrawPanel.CSDFill fill2 = new CustomSelfDrawPanel.CSDFill {
         Position = new Point(this.backgroundImage.Width - width, 0),
         Size = new Size(width, this.backgroundImage.Height),
         FillColor = Color.FromArgb(0xff, 0, 0xff)
     };
     base.addControl(fill2);
     CustomSelfDrawPanel.CSDFill fill3 = new CustomSelfDrawPanel.CSDFill {
         Position = new Point(0, 0),
         Size = new Size(this.backgroundImage.Width, width),
         FillColor = Color.FromArgb(0xff, 0, 0xff)
     };
     base.addControl(fill3);
     CustomSelfDrawPanel.CSDFill fill4 = new CustomSelfDrawPanel.CSDFill {
         Position = new Point(0, this.backgroundImage.Height - width),
         Size = new Size(this.backgroundImage.Width, width),
         FillColor = Color.FromArgb(0xff, 0, 0xff)
     };
     base.addControl(fill4);
     this.backgroundImage.Position = new Point(0, 0);
     base.addControl(this.backgroundImage);
     this.backgroundImage.Create((Image) GFXLibrary.parishwall_solid_rounded_rectangle_tan_upper_left, (Image) GFXLibrary.parishwall_solid_rounded_rectangle_tan_upper_middle, (Image) GFXLibrary.parishwall_solid_rounded_rectangle_tan_upper_right, (Image) GFXLibrary.parishwall_solid_rounded_rectangle_tan_middle_left, (Image) GFXLibrary.parishwall_solid_rounded_rectangle_tan_middle_middle, (Image) GFXLibrary.parishwall_solid_rounded_rectangle_tan_middle_right, (Image) GFXLibrary.parishwall_solid_rounded_rectangle_tan_bottom_left, (Image) GFXLibrary.parishwall_solid_rounded_rectangle_tan_bottom_middle, (Image) GFXLibrary.parishwall_solid_rounded_rectangle_tan_bottom_right);
     int num2 = 0x4b;
     CustomSelfDrawPanel.ResourceButton button = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width, width)
     };
     button.init(6, logoutParent);
     this.backgroundImage.addControl(button);
     CustomSelfDrawPanel.ResourceButton button2 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + num2, width)
     };
     button2.init(7, logoutParent);
     this.backgroundImage.addControl(button2);
     CustomSelfDrawPanel.ResourceButton button3 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 2), width)
     };
     button3.init(8, logoutParent);
     this.backgroundImage.addControl(button3);
     CustomSelfDrawPanel.ResourceButton button4 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 3), width)
     };
     button4.init(9, logoutParent);
     this.backgroundImage.addControl(button4);
     CustomSelfDrawPanel.ResourceButton button5 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width, width + num2)
     };
     button5.init(13, logoutParent);
     this.backgroundImage.addControl(button5);
     CustomSelfDrawPanel.ResourceButton button6 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + num2, width + num2)
     };
     button6.init(0x11, logoutParent);
     this.backgroundImage.addControl(button6);
     CustomSelfDrawPanel.ResourceButton button7 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 2), width + num2)
     };
     button7.init(0x10, logoutParent);
     this.backgroundImage.addControl(button7);
     CustomSelfDrawPanel.ResourceButton button8 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 3), width + num2)
     };
     button8.init(14, logoutParent);
     this.backgroundImage.addControl(button8);
     CustomSelfDrawPanel.ResourceButton button9 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 4), width + num2)
     };
     button9.init(15, logoutParent);
     this.backgroundImage.addControl(button9);
     CustomSelfDrawPanel.ResourceButton button10 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 5), width + num2)
     };
     button10.init(0x12, logoutParent);
     this.backgroundImage.addControl(button10);
     CustomSelfDrawPanel.ResourceButton button11 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 7), width + num2)
     };
     button11.init(12, logoutParent);
     this.backgroundImage.addControl(button11);
     CustomSelfDrawPanel.ResourceButton button12 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width, width + (num2 * 2))
     };
     button12.init(0x16, logoutParent);
     this.backgroundImage.addControl(button12);
     CustomSelfDrawPanel.ResourceButton button13 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + num2, width + (num2 * 2))
     };
     button13.init(0x15, logoutParent);
     this.backgroundImage.addControl(button13);
     CustomSelfDrawPanel.ResourceButton button14 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 2), width + (num2 * 2))
     };
     button14.init(0x1a, logoutParent);
     this.backgroundImage.addControl(button14);
     CustomSelfDrawPanel.ResourceButton button15 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 3), width + (num2 * 2))
     };
     button15.init(0x13, logoutParent);
     this.backgroundImage.addControl(button15);
     CustomSelfDrawPanel.ResourceButton button16 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 4), width + (num2 * 2))
     };
     button16.init(0x21, logoutParent);
     this.backgroundImage.addControl(button16);
     CustomSelfDrawPanel.ResourceButton button17 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 5), width + (num2 * 2))
     };
     button17.init(0x17, logoutParent);
     this.backgroundImage.addControl(button17);
     CustomSelfDrawPanel.ResourceButton button18 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 6), width + (num2 * 2))
     };
     button18.init(0x18, logoutParent);
     this.backgroundImage.addControl(button18);
     CustomSelfDrawPanel.ResourceButton button19 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 7), width + (num2 * 2))
     };
     button19.init(0x19, logoutParent);
     this.backgroundImage.addControl(button19);
     CustomSelfDrawPanel.ResourceButton button20 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width, width + (num2 * 3))
     };
     button20.init(0x1d, logoutParent);
     this.backgroundImage.addControl(button20);
     CustomSelfDrawPanel.ResourceButton button21 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + num2, width + (num2 * 3))
     };
     button21.init(0x1c, logoutParent);
     this.backgroundImage.addControl(button21);
     CustomSelfDrawPanel.ResourceButton button22 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 2), width + (num2 * 3))
     };
     button22.init(0x1f, logoutParent);
     this.backgroundImage.addControl(button22);
     CustomSelfDrawPanel.ResourceButton button23 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 3), width + (num2 * 3))
     };
     button23.init(30, logoutParent);
     this.backgroundImage.addControl(button23);
     CustomSelfDrawPanel.ResourceButton button24 = new CustomSelfDrawPanel.ResourceButton {
         Position = new Point(width + (num2 * 4), width + (num2 * 3))
     };
     button24.init(0x20, logoutParent);
     this.backgroundImage.addControl(button24);
     parentWindow.Size = this.backgroundImage.Size;
     base.Invalidate();
     parentWindow.Invalidate();
 }
 public void init(int cardSection)
 {
     CustomSelfDrawPanel.CSDImage image2;
     CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate overDelegate = null;
     CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate leaveDelegate = null;
     this.currentCardSection = cardSection;
     base.clearControls();
     this.mainBackgroundImage.Image = GFXLibrary.dummy;
     this.mainBackgroundImage.Position = new Point(0, 0);
     this.mainBackgroundImage.Size = base.Size;
     this.mainBackgroundImage.Tile = true;
     base.addControl(this.mainBackgroundImage);
     this.ContentWidth = base.Width - (2 * BorderPadding);
     this.AvailablePanelWidth = 800;
     this.InplayPanelWidth = (this.ContentWidth - BorderPadding) - this.AvailablePanelWidth;
     CustomSelfDrawPanel.CSDExtendingPanel panel = new CustomSelfDrawPanel.CSDExtendingPanel {
         Size = base.Size,
         Position = new Point(0, 0)
     };
     this.mainBackgroundImage.addControl(panel);
     panel.Create((Image) GFXLibrary.cardpanel_panel_back_top_left, (Image) GFXLibrary.cardpanel_panel_back_top_mid, (Image) GFXLibrary.cardpanel_panel_back_top_right, (Image) GFXLibrary.cardpanel_panel_back_mid_left, (Image) GFXLibrary.cardpanel_panel_back_mid_mid, (Image) GFXLibrary.cardpanel_panel_back_mid_right, (Image) GFXLibrary.cardpanel_panel_back_bottom_left, (Image) GFXLibrary.cardpanel_panel_back_bottom_mid, (Image) GFXLibrary.cardpanel_panel_back_bottom_right);
     CustomSelfDrawPanel.CSDImage image = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_top_left,
         Size = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
         Position = new Point(0, 0)
     };
     panel.addControl(image);
     image2 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_bottom_right,
         Size = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
         Position = new Point((panel.Width - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (panel.Height - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
     };
     panel.addControl(image2);
     this.AvailablePanel = new CustomSelfDrawPanel.CSDExtendingPanel();
     this.AvailablePanel.Size = new Size(this.AvailablePanelWidth, 0x177);
     this.AvailablePanel.Position = new Point(8, (base.Height - 8) - 0x177);
     this.AvailablePanel.Alpha = 0.8f;
     this.mainBackgroundImage.addControl(this.AvailablePanel);
     this.AvailablePanel.Create((Image) GFXLibrary.cardpanel_panel_black_top_left, (Image) GFXLibrary.cardpanel_panel_black_top_mid, (Image) GFXLibrary.cardpanel_panel_black_top_right, (Image) GFXLibrary.cardpanel_panel_black_mid_left, (Image) GFXLibrary.cardpanel_panel_black_mid_mid, (Image) GFXLibrary.cardpanel_panel_black_mid_right, (Image) GFXLibrary.cardpanel_panel_black_bottom_left, (Image) GFXLibrary.cardpanel_panel_black_bottom_mid, (Image) GFXLibrary.cardpanel_panel_black_bottom_right);
     int width = base.Width;
     int borderPadding = BorderPadding;
     int num3 = this.AvailablePanel.Width;
     this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal;
     this.closeImage.Size = this.closeImage.Image.Size;
     this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick), "Cards_Close");
     this.closeImage.CustomTooltipID = 0x2774;
     this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
     this.mainBackgroundImage.addControl(this.closeImage);
     CustomSelfDrawPanel.WikiLinkControl.init(this.mainBackgroundImage, 40, new Point((((base.Width - 1) - 0x11) - 50) + 3, 5), true);
     CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
         FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
         Size = new Size(base.Width - 10, 1),
         Position = new Point(5, 0x22)
     };
     this.mainBackgroundImage.addControl(fill);
     this.cardsButtons = new CustomSelfDrawPanel.UICardsButtons((PlayCardsWindow) base.ParentForm);
     this.cardsButtons.Position = new Point(0x328, 0x25);
     this.mainBackgroundImage.addControl(this.cardsButtons);
     this.labelTitle.Position = new Point(0x1b, 8);
     this.labelTitle.Size = new Size(600, 0x40);
     this.labelTitle.Text = "";
     this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelTitle.Font = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
     this.labelTitle.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelTitle);
     this.labelTitlePoints.Position = new Point(0x1b, 8);
     this.labelTitlePoints.Size = new Size(600, 0x40);
     this.labelTitlePoints.Text = "";
     this.labelTitlePoints.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelTitlePoints.Font = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
     this.labelTitlePoints.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelTitlePoints);
     this.imageTitlePoints.Image = (Image) GFXLibrary.cardpanel_manage_card_points_icon;
     this.imageTitlePoints.Position = new Point(400, 5);
     this.mainBackgroundImage.addControl(this.imageTitlePoints);
     this.searchButton.ImageNorm = (Image) GFXLibrary.int_statsscreen_search_button_normal;
     this.searchButton.ImageOver = (Image) GFXLibrary.int_statsscreen_search_button_over;
     this.searchButton.ImageClick = (Image) GFXLibrary.int_statsscreen_search_button_pushed;
     this.searchButton.Position = new Point(0x32b, 7);
     this.searchButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.searchClicked), "StatsPanel_search");
     this.searchButton.CustomTooltipID = 0x284f;
     this.searchButton.Visible = true;
     this.mainBackgroundImage.addControl(this.searchButton);
     this.clearSearchButton.ImageNorm = (Image) GFXLibrary.int_statsscreen_search_clear_button_normal;
     this.clearSearchButton.ImageOver = (Image) GFXLibrary.int_statsscreen_search_clear_button_over;
     this.clearSearchButton.ImageClick = (Image) GFXLibrary.int_statsscreen_search_clear_button_pushed;
     this.clearSearchButton.Position = new Point(740, 7);
     this.clearSearchButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clearSearchClicked), "StatsPanel_clear_search");
     this.clearSearchButton.Visible = false;
     this.clearSearchButton.CustomTooltipID = 0x2850;
     this.mainBackgroundImage.addControl(this.clearSearchButton);
     this.addPointsData();
     CustomSelfDrawPanel.CSDLabel label = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point((2 * BorderPadding) + this.AvailablePanelWidth, BorderPadding),
         Size = new Size(300, 0x40),
         Text = SK.Text("ManageCandsPanel_Cards_In_Play", "Cards In Play"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 16f, FontStyle.Bold),
         Color = ARGBColors.White,
         DropShadowColor = ARGBColors.Black
     };
     this.cardTitle = new CustomSelfDrawPanel.CSDLabel();
     this.cardTitle.Position = new Point(0x10, 40);
     this.cardTitle.Size = new Size(600, 0x40);
     this.cardTitle.Text = string.Empty;
     this.cardTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.cardTitle.Font = FontManager.GetFont("Arial", 10f, FontStyle.Bold);
     this.cardTitle.Color = ARGBColors.White;
     this.cardTitle.DropShadowColor = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.cardTitle);
     this.labelFeedback = new CustomSelfDrawPanel.CSDLabel();
     this.labelFeedback.Position = new Point(0x10, 500);
     this.labelFeedback.Size = new Size(600, 0x40);
     this.labelFeedback.Text = "";
     this.labelFeedback.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelFeedback.Font = FontManager.GetFont("Arial", 10f, FontStyle.Bold);
     this.labelFeedback.Color = ARGBColors.White;
     this.labelFeedback.DropShadowColor = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelFeedback);
     this.buttonCash = new CustomSelfDrawPanel.CSDImage();
     this.buttonBonus = new CustomSelfDrawPanel.CSDImage();
     this.buttonCatalog = new CustomSelfDrawPanel.CSDImage();
     this.buttonCash.Image = (Image) GFXLibrary.cardpanel_button_blue_normal;
     this.buttonCash.Size = this.buttonCash.Image.Size;
     this.buttonBonus.Image = (Image) GFXLibrary.cardpanel_button_blue_normal;
     this.buttonBonus.Size = this.buttonBonus.Image.Size;
     this.buttonCatalog.Image = (Image) GFXLibrary.cardpanel_button_blue_normal;
     this.buttonCatalog.Size = this.buttonCash.Image.Size;
     this.buttonCash.Position = new Point((this.AvailablePanel.X + (this.AvailablePanel.Width / 2)) - this.buttonCash.Width, this.cardsButtons.Y + 4);
     this.buttonBonus.Position = new Point(this.buttonCash.X, this.buttonCash.Y);
     this.buttonCatalog.Position = new Point(this.buttonCash.X - this.buttonCash.Width, this.buttonCash.Y);
     this.buttonBonus.setMouseOverDelegate(() => this.buttonBonus.Image = (Image) GFXLibrary.cardpanel_button_blue_over, () => this.buttonBonus.Image = (Image) GFXLibrary.cardpanel_button_blue_normal);
     this.buttonCash.setMouseOverDelegate(() => this.buttonCash.Image = (Image) GFXLibrary.cardpanel_button_blue_over, () => this.buttonCash.Image = (Image) GFXLibrary.cardpanel_button_blue_normal);
     this.buttonCatalog.setMouseOverDelegate(() => this.buttonCatalog.Image = (Image) GFXLibrary.cardpanel_button_blue_over, () => this.buttonCatalog.Image = (Image) GFXLibrary.cardpanel_button_blue_normal);
     this.buttonBonus.Visible = false;
     this.buttonCash.Visible = true;
     this.fastCashIn = Program.mySettings.fastCashIn;
     this.fastCashInCheckBox = new CustomSelfDrawPanel.CSDCheckBox();
     this.fastCashInCheckBox.CheckedImage = (Image) GFXLibrary.reports_checkbox_checked;
     this.fastCashInCheckBox.UncheckedImage = (Image) GFXLibrary.reports_checkbox_empty;
     this.fastCashInCheckBox.Position = new Point(this.AvailablePanel.X + 590, this.cardsButtons.Y + 160);
     this.fastCashInCheckBox.Checked = this.fastCashIn;
     this.fastCashInCheckBox.CBLabel.Text = SK.Text("ManageCards_multicashin", "Multi-Cash In");
     this.fastCashInCheckBox.CBLabel.Color = ARGBColors.Black;
     this.fastCashInCheckBox.CBLabel.Position = new Point(20, -1);
     this.fastCashInCheckBox.CBLabel.Size = new Size(250, 0x19);
     this.fastCashInCheckBox.CBLabel.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular);
     this.fastCashInCheckBox.setCheckChangedDelegate(delegate {
         Program.mySettings.fastCashIn = this.fastCashIn = this.fastCashInCheckBox.Checked;
         this.RefreshSet();
     });
     this.mainBackgroundImage.addControl(this.fastCashInCheckBox);
     this.buyAndPlayCheckBox = new CustomSelfDrawPanel.CSDCheckBox();
     this.buyAndPlayCheckBox.CheckedImage = (Image) GFXLibrary.reports_checkbox_checked;
     this.buyAndPlayCheckBox.UncheckedImage = (Image) GFXLibrary.reports_checkbox_empty;
     this.buyAndPlayCheckBox.Position = new Point(this.AvailablePanel.X + 100, this.cardsButtons.Y + 0x5c);
     this.buyAndPlayCheckBox.Checked = false;
     this.buyAndPlayCheckBox.Visible = false;
     this.buyAndPlayCheckBox.CBLabel.Text = SK.Text("ManageCards_buyAndPlay", "Play Card Immediately");
     this.buyAndPlayCheckBox.CBLabel.Color = ARGBColors.Black;
     this.buyAndPlayCheckBox.CBLabel.Position = new Point(20, -1);
     this.buyAndPlayCheckBox.CBLabel.Size = new Size(250, 0x19);
     this.buyAndPlayCheckBox.CBLabel.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     this.buyAndPlayCheckBox.setCheckChangedDelegate(new CustomSelfDrawPanel.CSDCheckBox.CSD_CheckChangedDelegate(this.buyAndPlayCheckChanged));
     this.mainBackgroundImage.addControl(this.buyAndPlayCheckBox);
     CustomSelfDrawPanel.CSDLabel label2 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, -2),
         Size = this.buttonCash.Size,
         Text = SK.Text("ManageCandsPanel_Cash_In", "Cash In"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.Black
     };
     this.buttonCash.addControl(label2);
     CustomSelfDrawPanel.CSDLabel label3 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, -2),
         Size = this.buttonCash.Size,
         Text = SK.Text("ManageCandsPanel_Cash_In", "Cash In"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.Black
     };
     this.buttonBonus.addControl(label3);
     this.labelBuyCash = new CustomSelfDrawPanel.CSDLabel();
     this.labelBuyCash.Position = new Point(0, -2);
     this.labelBuyCash.Size = this.buttonCash.Size;
     this.labelBuyCash.Text = SK.Text("ManageCandsPanel_Get_Cards", "Get Cards");
     this.labelBuyCash.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
     this.labelBuyCash.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular);
     this.labelBuyCash.Color = ARGBColors.Black;
     this.LabelClickToRemove = new CustomSelfDrawPanel.CSDLabel();
     this.LabelClickToRemove.Position = new Point(this.AvailablePanel.X, this.cardsButtons.Y);
     this.LabelClickToRemove.Size = new Size(600, 0x12);
     this.LabelClickToRemove.Text = "";
     this.LabelClickToRemove.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.LabelClickToRemove.Font = FontManager.GetFont("Arial", 10f, FontStyle.Bold);
     this.LabelClickToRemove.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.LabelClickToRemove);
     this.buttonCatalog.addControl(this.labelBuyCash);
     this.buttonCatalog.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.SwitchToBuy), "ManageCardsPanel_switch_to_buy_cards");
     if (GameEngine.Instance.World.ProfileCardsSet.Count < 5)
     {
         this.buttonCash.Colorise = ARGBColors.Gray;
         this.buttonCash.setMouseOverDelegate(null, null);
         this.buttonCash.setClickDelegate(null);
     }
     else
     {
         this.buttonCash.Colorise = ARGBColors.White;
         if (overDelegate == null)
         {
             overDelegate = () => this.buttonCash.Image = (Image) GFXLibrary.cardpanel_button_blue_over;
         }
         if (leaveDelegate == null)
         {
             leaveDelegate = () => this.buttonCash.Image = (Image) GFXLibrary.cardpanel_button_blue_normal;
         }
         this.buttonCash.setMouseOverDelegate(overDelegate, leaveDelegate);
         this.buttonCash.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.CashClick), "ManageCardsPanel_switch_to_cash_in");
     }
     this.LayoutPanelMode = this.PanelMode = PANEL_MODE_CASH;
     CardTypes.CardDefinition filter = new CardTypes.CardDefinition();
     GameEngine.Instance.World.searchProfileCards(filter, "", ((PlayCardsWindow) base.ParentForm).getNameSearchText());
     ((PlayCardsWindow) base.ParentForm).tbSearchBox.Visible = false;
     this.ResizeAvailable(0x177);
     this.GetCardsAvailable(false);
     this.RenderCards(this.UICardList);
     this.InitEmptyCards();
     this.RefreshSet();
     this.InitDynamicPanel();
     this.CatalogFilterDefinition.cardCategory = 0;
     this.CatalogFilterDefinition.cardColour = 0;
     this.InitCatalog();
     CustomSelfDrawPanel.CSDControl control = new CustomSelfDrawPanel.CSDControl {
         Position = new Point(0, 0),
         Size = base.Size
     };
     this.mainBackgroundImage.addControl(control);
     this.mainBackgroundImage.setMouseWheelDelegate(new CustomSelfDrawPanel.CSDControl.CSD_MouseWheelDelegate(this.mouseWheelHandler));
     this.InitFilters();
     this.InitTabs();
     this.mainBackgroundImage.invalidate();
     GameEngine.shiftPressedAlways = false;
 }
        public void init(int cardSection)
        {
            CustomSelfDrawPanel.CSDImage image2;
            this.currentCardSection = cardSection;
            base.clearControls();
            this.mainBackgroundImage.Image    = GFXLibrary.dummy;
            this.mainBackgroundImage.Position = new Point(0, 0);
            this.mainBackgroundImage.Size     = base.Size;
            this.mainBackgroundImage.Tile     = true;
            base.addControl(this.mainBackgroundImage);
            this.ContentWidth        = base.Width - (2 * BorderPadding);
            this.AvailablePanelWidth = 800;
            CustomSelfDrawPanel.CSDExtendingPanel control = new CustomSelfDrawPanel.CSDExtendingPanel {
                Size     = base.Size,
                Position = new Point(0, 0)
            };
            this.mainBackgroundImage.addControl(control);
            control.Create((Image)GFXLibrary.cardpanel_panel_back_top_left, (Image)GFXLibrary.cardpanel_panel_back_top_mid, (Image)GFXLibrary.cardpanel_panel_back_top_right, (Image)GFXLibrary.cardpanel_panel_back_mid_left, (Image)GFXLibrary.cardpanel_panel_back_mid_mid, (Image)GFXLibrary.cardpanel_panel_back_mid_right, (Image)GFXLibrary.cardpanel_panel_back_bottom_left, (Image)GFXLibrary.cardpanel_panel_back_bottom_mid, (Image)GFXLibrary.cardpanel_panel_back_bottom_right);
            CustomSelfDrawPanel.CSDImage image = new CustomSelfDrawPanel.CSDImage {
                Image    = (Image)GFXLibrary.cardpanel_panel_gradient_top_left,
                Size     = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
                Position = new Point(0, 0)
            };
            control.addControl(image);
            image2 = new CustomSelfDrawPanel.CSDImage {
                Image    = (Image)GFXLibrary.cardpanel_panel_gradient_bottom_right,
                Size     = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
                Position = new Point((control.Width - ((Image)GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (control.Height - ((Image)GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
            };
            control.addControl(image2);
            this.AvailablePanel          = new CustomSelfDrawPanel.CSDExtendingPanel();
            this.AvailablePanel.Size     = new Size(this.AvailablePanelWidth, 550);
            this.AvailablePanel.Position = new Point(8, (base.Height - 8) - 550);
            this.AvailablePanel.Alpha    = 0.8f;
            int width         = base.Width;
            int borderPadding = BorderPadding;
            int num9          = this.AvailablePanel.Width;

            this.closeImage.Image = (Image)GFXLibrary.cardpanel_button_close_normal;
            this.closeImage.Size  = this.closeImage.Image.Size;
            this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image)GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image)GFXLibrary.cardpanel_button_close_normal);
            this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick));
            this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
            this.mainBackgroundImage.addControl(this.closeImage);
            CustomSelfDrawPanel.WikiLinkControl.init(this.mainBackgroundImage, 0x26, new Point((((base.Width - 1) - 0x11) - 50) + 3, 5), true);
            CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
                FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
                Size      = new Size(base.Width - 10, 1),
                Position  = new Point(5, 0x22)
            };
            this.mainBackgroundImage.addControl(fill);
            this.greyout.FillColor = Color.FromArgb(0xd7, 0x19, 0x19, 0x19);
            this.greyout.Size      = new Size(this.mainBackgroundImage.Width, this.AvailablePanel.Y + this.AvailablePanel.Height);
            this.greyout.Position  = new Point(0, 0);
            this.greyout.setClickDelegate(delegate {
            });
            CustomSelfDrawPanel.CSDImage closeGrey = new CustomSelfDrawPanel.CSDImage {
                Image = (Image)GFXLibrary.cardpanel_button_close_normal,
                Size  = this.closeImage.Image.Size
            };
            closeGrey.setMouseOverDelegate(() => closeGrey.Image = (Image)GFXLibrary.cardpanel_button_close_over, () => closeGrey.Image = (Image)GFXLibrary.cardpanel_button_close_normal);
            closeGrey.Position = new Point((base.Width - 14) - 0x11, 10);
            this.greyout.addControl(closeGrey);
            this.labelTitle.Position  = new Point(0x1b, 8);
            this.labelTitle.Size      = new Size(0x3a7, 0x40);
            this.labelTitle.Text      = SK.Text("BuyCrownsPanel_Buy_Crowns", "Buy Crowns");
            this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
            this.labelTitle.Font      = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
            this.labelTitle.Color     = ARGBColors.Black;
            this.mainBackgroundImage.addControl(this.labelTitle);
            CustomSelfDrawPanel.UICardsButtons buttons = new CustomSelfDrawPanel.UICardsButtons((PlayCardsWindow)base.ParentForm)
            {
                Position = new Point(0x328, 0x25)
            };
            this.mainBackgroundImage.addControl(buttons);
            this.cardButtons = buttons;
            List <ProductInfo> productList = new List <ProductInfo>();

            if (Program.steamActive)
            {
                this.PlayerCountry  = "UK";
                this.PlayerCurrency = "GBP";
                this.PlayerLanguage = MySettings.load().LanguageIdent;
                XmlRpcAuthProvider provider = XmlRpcAuthProvider.CreateForEndpoint(URLs.ProfileProtocol, URLs.ProfileServerAddressLogin, URLs.ProfileServerPort, URLs.ProfilePath);
                XmlRpcAuthRequest  req      = new XmlRpcAuthRequest(RemoteServices.Instance.UserGuid.ToString().Replace("-", ""), "", "", "", null, null, null, null)
                {
                    SteamID   = Program.steamID,
                    SessionID = RemoteServices.Instance.SessionGuid.ToString().Replace("-", ""),
                    Culture   = this.PlayerLanguage,
                    Currency  = this.PlayerCurrency,
                    Country   = this.PlayerCountry
                };
                productList = provider.SteamGetProductList(req, null, this, 0x3a98).ProductList;
            }
            else if (Program.aeriaInstall)
            {
                XmlRpcAuthProvider provider2 = XmlRpcAuthProvider.CreateForEndpoint(URLs.ProfileProtocol, URLs.ProfileServerAddressLogin, URLs.ProfileServerPort, URLs.ProfilePath);
                XmlRpcAuthRequest  request2  = new XmlRpcAuthRequest(RemoteServices.Instance.UserGuid.ToString().Replace("-", ""), "", "", "", null, null, null, null);
                XmlRpcAuthResponse response  = null;
                this.storedAeriaPoints             = provider2.AeriaGetBalance(request2, null, this, 0x3a98, ref response);
                productList                        = response.ProductList;
                this.buyAPButton.ImageNorm         = (Image)GFXLibrary.misc_button_blue_210wide_normal;
                this.buyAPButton.ImageOver         = (Image)GFXLibrary.misc_button_blue_210wide_over;
                this.buyAPButton.ImageClick        = (Image)GFXLibrary.misc_button_blue_210wide_pushed;
                this.buyAPButton.Position          = new Point(0x13d, 0x49);
                this.buyAPButton.Text.Text         = this.storedAeriaPoints.ToString();
                this.buyAPButton.Text.Alignment    = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_RIGHT;
                this.buyAPButton.Text.Size         = new Size((this.buyAPButton.Width / 2) - 3, this.buyAPButton.Height);
                this.buyAPButton.TextYOffset       = -2;
                this.buyAPButton.Text.Color        = ARGBColors.Black;
                this.buyAPButton.ImageIcon         = (Image)GFXLibrary.aeriaPoints;
                this.buyAPButton.ImageIconPosition = new Point((this.buyAPButton.Width / 2) + 3, 1);
                this.buyAPButton.Text.Font         = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
                this.buyAPButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.purchaseAP));
                this.buyAPButton.CustomTooltipID = 0x286e;
                this.mainBackgroundImage.addControl(this.buyAPButton);
            }
            int y    = 0x42;
            int num2 = 0x5e;
            int num3 = -1;

            if (Program.aeriaInstall)
            {
                y = 0x84;
            }
            NumberFormatInfo nFI   = GameEngine.NFI;
            NumberFormatInfo info2 = GameEngine.NFI_D2;

            foreach (ProductInfo info3 in productList)
            {
                num3++;
                int x = num2;
                if (Program.steamActive)
                {
                    if (num3 > 3)
                    {
                        if (num3 == 4)
                        {
                            y = 0x84;
                        }
                        x += 350;
                    }
                }
                else if (Program.aeriaInstall && (num3 > 2))
                {
                    if (num3 == 3)
                    {
                        y = 0x84;
                    }
                    x += 350;
                }
                CustomSelfDrawPanel.CSDLabel label        = new CustomSelfDrawPanel.CSDLabel();
                CustomSelfDrawPanel.CSDLabel label2       = new CustomSelfDrawPanel.CSDLabel();
                CustomSelfDrawPanel.CSDLabel label3       = new CustomSelfDrawPanel.CSDLabel();
                CustomSelfDrawPanel.CSDLabel label4       = new CustomSelfDrawPanel.CSDLabel();
                CustomSelfDrawPanel.CSDLabel label5       = new CustomSelfDrawPanel.CSDLabel();
                CustomSelfDrawPanel.CSDImage image3       = new CustomSelfDrawPanel.CSDImage();
                CustomSelfDrawPanel.CSDImage crownsbutton = new CustomSelfDrawPanel.CSDImage();
                CustomSelfDrawPanel.CSDImage orderbutton  = new CustomSelfDrawPanel.CSDImage();
                crownsbutton.Image    = (Image)GFXLibrary.cardpanel_payment_button_crowns_normal;
                crownsbutton.Position = new Point(x, y);
                crownsbutton.Height   = crownsbutton.Image.Height;
                crownsbutton.Width    = crownsbutton.Image.Width;
                crownsbutton.setMouseOverDelegate(() => crownsbutton.Image = (Image)GFXLibrary.cardpanel_payment_button_crowns_over, () => crownsbutton.Image = (Image)GFXLibrary.cardpanel_payment_button_crowns_normal);
                crownsbutton.Tag = info3;
                crownsbutton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
                this.mainBackgroundImage.addControl(crownsbutton);
                x += crownsbutton.Width + 0x20;
                orderbutton.Image    = (Image)GFXLibrary.cardpanel_payment_button_greywhite_normal;
                orderbutton.Position = new Point(x, (y + 0x12) + 3);
                orderbutton.Height   = orderbutton.Image.Height;
                orderbutton.Width    = orderbutton.Image.Width;
                orderbutton.setMouseOverDelegate(() => orderbutton.Image = (Image)GFXLibrary.cardpanel_payment_button_greywhite_over, () => orderbutton.Image = (Image)GFXLibrary.cardpanel_payment_button_greywhite_normal);
                orderbutton.Tag = info3;
                orderbutton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
                label5.Text      = this.strOrderNow;
                label5.Position  = new Point(0, 0);
                label5.Width     = orderbutton.Width;
                label5.Height    = orderbutton.Height;
                label5.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
                label5.Font      = FontManager.GetFont("Arial", 14f, FontStyle.Bold);
                orderbutton.addControl(label5);
                label5.Tag = info3;
                label5.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
                int num5 = 14;
                int num6 = 0;
                if (Program.mySettings.LanguageIdent == "fr")
                {
                    num5 = 13;
                    num6 = -5;
                }
                label.Text     = info3.Strikethrough.ToString();
                label.Position = new Point(0x74 + num6, 0x15);
                label.Width    = 300;
                label.Height   = 0x18;
                label.Font     = FontManager.GetFont("Arial", (float)num5, FontStyle.Strikeout);
                label.Color    = ARGBColors.Black;
                crownsbutton.addControl(label);
                label.Tag = info3;
                label.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
                label.Size      = label.TextSizeX;
                label2.Text     = info3.Crowns.ToString();
                label2.Position = new Point(label.X + label.Width, label.Y);
                label2.Font     = FontManager.GetFont("Arial", (float)num5, FontStyle.Bold);
                label2.Color    = ARGBColors.Purple;
                label2.Width    = 300;
                label2.Height   = 0x18;
                crownsbutton.addControl(label2);
                label2.Tag = info3;
                label2.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
                label2.Size     = label2.TextSizeX;
                label3.Text     = this.strCrowns;
                label3.Position = new Point((label2.X + label2.Width) + num6, label2.Y);
                label3.Font     = FontManager.GetFont("Arial", (float)num5, FontStyle.Bold);
                label3.Color    = ARGBColors.Black;
                label3.Size     = new Size(300, 0x18);
                crownsbutton.addControl(label3);
                label3.Tag = info3;
                label3.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
                label3.Size = label3.TextSizeX;
                if (Program.aeriaInstall)
                {
                    label4.Text = " " + ((int)info3.Cost).ToString("F", nFI);
                }
                else
                {
                    label4.Text = info3.Currency + " " + info3.Cost.ToString("F", info2);
                }
                label4.Position = new Point(label.X, (label.Y + label.Height) + 4);
                label4.Font     = FontManager.GetFont("Arial", 14f, FontStyle.Bold);
                label4.Color    = ARGBColors.Black;
                label4.Size     = new Size(300, 0x18);
                crownsbutton.addControl(label4);
                label4.Tag = info3;
                label4.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.productclick));
                label4.Size = label4.TextSizeX;
                if (Program.aeriaInstall)
                {
                    image3.Image    = (Image)GFXLibrary.aeriaPoints;
                    label4.Position = new Point(label.X + 20, label.Y + label.Height);
                    image3.Position = new Point(label.X, (((label.Y + label.Height) + 4) - 2) - 3);
                    image3.Tag      = info3;
                    crownsbutton.addControl(image3);
                }
                y += crownsbutton.Height + 40;
            }
            this.mainBackgroundImage.invalidate();
        }
 public void init(int cardSection)
 {
     CustomSelfDrawPanel.CSDImage image2;
     this.currentCardSection = cardSection;
     base.clearControls();
     this.mainBackgroundImage.Image = GFXLibrary.dummy;
     this.mainBackgroundImage.Position = new Point(0, 0);
     this.mainBackgroundImage.Size = base.Size;
     this.mainBackgroundImage.Tile = true;
     base.addControl(this.mainBackgroundImage);
     this.ContentWidth = base.Width - (2 * BorderPadding);
     this.AvailablePanelWidth = 800;
     this.InplayPanelWidth = (this.ContentWidth - BorderPadding) - this.AvailablePanelWidth;
     CustomSelfDrawPanel.CSDExtendingPanel control = new CustomSelfDrawPanel.CSDExtendingPanel {
         Size = base.Size,
         Position = new Point(0, 0)
     };
     this.mainBackgroundImage.addControl(control);
     control.Create((Image) GFXLibrary.cardpanel_panel_back_top_left, (Image) GFXLibrary.cardpanel_panel_back_top_mid, (Image) GFXLibrary.cardpanel_panel_back_top_right, (Image) GFXLibrary.cardpanel_panel_back_mid_left, (Image) GFXLibrary.cardpanel_panel_back_mid_mid, (Image) GFXLibrary.cardpanel_panel_back_mid_right, (Image) GFXLibrary.cardpanel_panel_back_bottom_left, (Image) GFXLibrary.cardpanel_panel_back_bottom_mid, (Image) GFXLibrary.cardpanel_panel_back_bottom_right);
     CustomSelfDrawPanel.CSDImage image = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_top_left,
         Size = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
         Position = new Point(0, 0)
     };
     control.addControl(image);
     image2 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_bottom_right,
         Size = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
         Position = new Point((control.Width - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (control.Height - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
     };
     control.addControl(image2);
     this.AvailablePanel = new CustomSelfDrawPanel.CSDExtendingPanel();
     this.AvailablePanel.Size = new Size(this.AvailablePanelWidth, 550);
     this.AvailablePanel.Position = new Point(8, (base.Height - 8) - 550);
     this.AvailablePanel.Alpha = 0.8f;
     this.mainBackgroundImage.addControl(this.AvailablePanel);
     this.AvailablePanel.Create((Image) GFXLibrary.cardpanel_panel_black_top_left, (Image) GFXLibrary.cardpanel_panel_black_top_mid, (Image) GFXLibrary.cardpanel_panel_black_top_right, (Image) GFXLibrary.cardpanel_panel_black_mid_left, (Image) GFXLibrary.cardpanel_panel_black_mid_mid, (Image) GFXLibrary.cardpanel_panel_black_mid_right, (Image) GFXLibrary.cardpanel_panel_black_bottom_left, (Image) GFXLibrary.cardpanel_panel_black_bottom_mid, (Image) GFXLibrary.cardpanel_panel_black_bottom_right);
     this.sortBack.Image = (Image) GFXLibrary.sort_back;
     this.sortBack.Position = new Point(12, this.AvailablePanel.Height - 0x25);
     this.sortBack.Visible = true;
     this.AvailablePanel.addControl(this.sortBack);
     this.sortByName.ImageNorm = (Image) GFXLibrary.sort_normal;
     this.sortByName.ImageOver = (Image) GFXLibrary.sort_over;
     this.sortByName.ImageClick = (Image) GFXLibrary.sort_in;
     this.sortByName.Position = new Point(7, 4);
     this.sortByName.Text.Text = SK.Text("Card_Sorting_Name", "Sort By Name");
     this.sortByName.Text.Color = ARGBColors.White;
     this.sortByName.Text.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular);
     this.sortByName.TextYOffset = -1;
     this.sortByName.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.sortByNameClicked), "PlayCardsPanel_sort_by_name");
     this.sortBack.addControl(this.sortByName);
     this.sortByType.ImageNorm = (Image) GFXLibrary.sort_normal;
     this.sortByType.ImageOver = (Image) GFXLibrary.sort_over;
     this.sortByType.ImageClick = (Image) GFXLibrary.sort_in;
     this.sortByType.Position = new Point(0xe4, 4);
     this.sortByType.Text.Text = SK.Text("Card_Sorting_Type", "Sort By Type");
     this.sortByType.Text.Color = ARGBColors.White;
     this.sortByType.Text.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular);
     this.sortByType.TextYOffset = -1;
     this.sortByType.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.sortByTypeClicked), "PlayCardsPanel_sort_by_type");
     this.sortBack.addControl(this.sortByType);
     this.sortByQuantity.ImageNorm = (Image) GFXLibrary.sort_normal;
     this.sortByQuantity.ImageOver = (Image) GFXLibrary.sort_over;
     this.sortByQuantity.ImageClick = (Image) GFXLibrary.sort_in;
     this.sortByQuantity.Position = new Point(0x1c1, 4);
     this.sortByQuantity.Text.Text = SK.Text("Card_Sorting_Quantity", "Sort By Quantity");
     this.sortByQuantity.Text.Color = ARGBColors.White;
     this.sortByQuantity.Text.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular);
     this.sortByQuantity.TextYOffset = -1;
     this.sortByQuantity.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.sortByQuantityClicked), "PlayCardsPanel_sort_by_type");
     this.sortBack.addControl(this.sortByQuantity);
     this.sortByRarity.ImageNorm = (Image) GFXLibrary.sort_normal;
     this.sortByRarity.ImageOver = (Image) GFXLibrary.sort_over;
     this.sortByRarity.ImageClick = (Image) GFXLibrary.sort_in;
     this.sortByRarity.Position = new Point(0x170, 4);
     this.sortByRarity.Text.Text = SK.Text("Card_Sorting_Rarity", "Sort By Rarity");
     this.sortByRarity.Text.Color = ARGBColors.White;
     this.sortByRarity.Text.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular);
     this.sortByRarity.TextYOffset = -1;
     this.sortByRarity.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.sortByRarityClicked), "PlayCardsPanel_sort_by_rarity");
     this.compressButton.ImageNorm = (Image) GFXLibrary.r_popularity_panel_but_minus_norm;
     this.compressButton.ImageOver = (Image) GFXLibrary.r_popularity_panel_but_minus_over;
     this.compressButton.ImageClick = (Image) GFXLibrary.r_popularity_panel_but_minus_in;
     this.compressButton.Position = new Point(0x2a5, 0x10);
     this.compressButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.compressClicked), "PlayCardsPanel_compress_cards");
     this.sortBack.addControl(this.compressButton);
     this.expandButton.ImageNorm = (Image) GFXLibrary.r_popularity_panel_but_plus_norm;
     this.expandButton.ImageOver = (Image) GFXLibrary.r_popularity_panel_but_plus_over;
     this.expandButton.ImageClick = (Image) GFXLibrary.r_popularity_panel_but_plus_in;
     this.expandButton.Position = new Point(0x2a5, -2);
     this.expandButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.expandClicked), "PlayCardsPanel_expand_cards");
     this.sortBack.addControl(this.expandButton);
     if ((this.sortByMode == 0) || (this.sortByMode == 2))
     {
         this.sortByName.Alpha = 0.5f;
         this.sortByType.Alpha = 1f;
         this.sortByQuantity.Alpha = 0.5f;
     }
     else if ((this.sortByMode == 1) || (this.sortByMode == 3))
     {
         this.sortByName.Alpha = 1f;
         this.sortByType.Alpha = 0.5f;
         this.sortByQuantity.Alpha = 0.5f;
     }
     else if ((this.sortByMode == 7) || (this.sortByMode == 8))
     {
         this.sortByName.Alpha = 0.5f;
         this.sortByType.Alpha = 0.5f;
         this.sortByQuantity.Alpha = 1f;
     }
     else
     {
         this.sortByName.Alpha = 1f;
         this.sortByType.Alpha = 1f;
         this.sortByQuantity.Alpha = 1f;
     }
     int width = base.Width;
     int borderPadding = BorderPadding;
     int num3 = this.AvailablePanel.Width;
     this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal;
     this.closeImage.Size = this.closeImage.Image.Size;
     this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick), "Cards_Close");
     this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
     this.closeImage.CustomTooltipID = 0x2774;
     this.mainBackgroundImage.addControl(this.closeImage);
     CustomSelfDrawPanel.WikiLinkControl.init(this.mainBackgroundImage, 0x19, new Point((((base.Width - 1) - 0x11) - 50) + 3, 5), true);
     CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
         FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
         Size = new Size(base.Width - 10, 1),
         Position = new Point(5, 0x22)
     };
     this.mainBackgroundImage.addControl(fill);
     CustomSelfDrawPanel.UICardsButtons buttons = new CustomSelfDrawPanel.UICardsButtons((PlayCardsWindow) base.ParentForm) {
         Position = new Point(0x328, 0x25)
     };
     this.mainBackgroundImage.addControl(buttons);
     this.labelTitle.Position = new Point(0x1b, 8);
     this.labelTitle.Size = new Size(600, 0x40);
     this.labelTitle.Text = "";
     this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelTitle.Font = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
     this.labelTitle.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelTitle);
     if (cardSection != 0)
     {
         CustomSelfDrawPanel.CSDButton button = new CustomSelfDrawPanel.CSDButton {
             ImageNorm = (Image) GFXLibrary.button_cards_all_normal,
             ImageOver = (Image) GFXLibrary.button_cards_all_over,
             ImageClick = (Image) GFXLibrary.button_cards_all_over,
             Position = new Point(390, 0)
         };
         button.Text.Text = SK.Text("PlayCardsPanel_All_Your_Cards", "All Your Cards");
         button.TextYOffset = -3;
         button.Text.Color = ARGBColors.Black;
         button.Text.Size = new Size(button.Size.Width - 0x2d, button.Size.Height);
         button.Text.Position = new Point(0x2d, 0);
         button.Text.Font = FontManager.GetFont("Arial", 10f, FontStyle.Bold);
         button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.showAllCardsClick), "PlayCardsPanel_show_all_cards");
         this.mainBackgroundImage.addControl(button);
     }
     CustomSelfDrawPanel.CSDButton button2 = new CustomSelfDrawPanel.CSDButton {
         ImageNorm = (Image) GFXLibrary.button_cards_in_play_normal,
         ImageOver = (Image) GFXLibrary.button_cards_in_play_over,
         ImageClick = (Image) GFXLibrary.button_cards_in_play_over,
         Position = new Point(570, 0)
     };
     button2.Text.Text = SK.Text("PlayCardsPanel_Cards_In_Play", "Cards In Play");
     button2.TextYOffset = -3;
     button2.Text.Color = ARGBColors.Black;
     button2.Text.Size = new Size(button2.Size.Width - 30, button2.Size.Height);
     button2.Text.Position = new Point(30, 0);
     button2.Text.Font = FontManager.GetFont("Arial", 10f, FontStyle.Bold);
     button2.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.showCardsInPlay), "PlayCardsPanel_cards_in_play");
     this.mainBackgroundImage.addControl(button2);
     this.searchButton.ImageNorm = (Image) GFXLibrary.int_statsscreen_search_button_normal;
     this.searchButton.ImageOver = (Image) GFXLibrary.int_statsscreen_search_button_over;
     this.searchButton.ImageClick = (Image) GFXLibrary.int_statsscreen_search_button_pushed;
     this.searchButton.Position = new Point(0x32b, 7);
     this.searchButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.searchClicked), "StatsPanel_search");
     this.searchButton.CustomTooltipID = 0x284f;
     this.searchButton.Visible = true;
     this.mainBackgroundImage.addControl(this.searchButton);
     this.clearSearchButton.ImageNorm = (Image) GFXLibrary.int_statsscreen_search_clear_button_normal;
     this.clearSearchButton.ImageOver = (Image) GFXLibrary.int_statsscreen_search_clear_button_over;
     this.clearSearchButton.ImageClick = (Image) GFXLibrary.int_statsscreen_search_clear_button_pushed;
     this.clearSearchButton.Position = new Point(740, 7);
     this.clearSearchButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clearSearchClicked), "StatsPanel_clear_search");
     this.clearSearchButton.Visible = false;
     this.clearSearchButton.CustomTooltipID = 0x2850;
     this.mainBackgroundImage.addControl(this.clearSearchButton);
     CardTypes.CardDefinition filter = new CardTypes.CardDefinition {
         cardCategory = cardSection
     };
     if ((GameEngine.Instance.World.getTutorialStage() == 8) || (GameEngine.Instance.World.getTutorialStage() == 12))
     {
         filter.rewardcard = true;
     }
     filter.rewardcard = true;
     GameEngine.Instance.World.searchProfileCards(filter, "", ((PlayCardsWindow) base.ParentForm).getNameSearchText());
     if (cardSection < 15)
     {
         this.sectionName = CardSections.getName(cardSection);
     }
     else
     {
         this.sectionName = Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(CardFilters.getName2(cardSection).ToLower());
     }
     this.labelTitle.Text = this.sectionName + " : " + GameEngine.Instance.World.ProfileCardsSearch.Count.ToString();
     this.GetCardsAvailable(false);
     this.RenderCards();
     this.mainBackgroundImage.setMouseWheelDelegate(new CustomSelfDrawPanel.CSDControl.CSD_MouseWheelDelegate(this.mouseWheelHandler));
     if (cardSection == 0)
     {
         this.InitFilters();
     }
     if (cardSection == 0)
     {
         ((PlayCardsWindow) base.ParentForm).tbSearchBox.Visible = !this.searchButton.Visible;
     }
     else
     {
         ((PlayCardsWindow) base.ParentForm).tbSearchBox.Visible = false;
     }
     base.Invalidate();
 }
 public void init(int cardSection)
 {
     CustomSelfDrawPanel.CSDImage image2;
     this.currentCardSection = cardSection;
     base.clearControls();
     this.mainBackgroundImage.Image = GFXLibrary.dummy;
     this.mainBackgroundImage.Position = new Point(0, 0);
     this.mainBackgroundImage.Size = base.Size;
     this.mainBackgroundImage.Tile = true;
     base.addControl(this.mainBackgroundImage);
     this.ContentWidth = base.Width - (2 * BorderPadding);
     this.AvailablePanelWidth = 800;
     CustomSelfDrawPanel.CSDExtendingPanel control = new CustomSelfDrawPanel.CSDExtendingPanel {
         Size = base.Size,
         Position = new Point(0, 0)
     };
     this.mainBackgroundImage.addControl(control);
     control.Create((Image) GFXLibrary.cardpanel_panel_back_top_left, (Image) GFXLibrary.cardpanel_panel_back_top_mid, (Image) GFXLibrary.cardpanel_panel_back_top_right, (Image) GFXLibrary.cardpanel_panel_back_mid_left, (Image) GFXLibrary.cardpanel_panel_back_mid_mid, (Image) GFXLibrary.cardpanel_panel_back_mid_right, (Image) GFXLibrary.cardpanel_panel_back_bottom_left, (Image) GFXLibrary.cardpanel_panel_back_bottom_mid, (Image) GFXLibrary.cardpanel_panel_back_bottom_right);
     CustomSelfDrawPanel.CSDImage image = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_top_left,
         Size = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
         Position = new Point(0, 0)
     };
     control.addControl(image);
     image2 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_bottom_right,
         Size = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
         Position = new Point((control.Width - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (control.Height - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
     };
     control.addControl(image2);
     this.AvailablePanel = new CustomSelfDrawPanel.CSDExtendingPanel();
     this.AvailablePanel.Size = new Size(this.AvailablePanelWidth, 550);
     this.AvailablePanel.Position = new Point(8, (base.Height - 8) - 550);
     this.AvailablePanel.Alpha = 0.8f;
     this.mainBackgroundImage.addControl(this.AvailablePanel);
     this.AvailablePanel.Create((Image) GFXLibrary.cardpanel_panel_black_top_left, (Image) GFXLibrary.cardpanel_panel_black_top_mid, (Image) GFXLibrary.cardpanel_panel_black_top_right, (Image) GFXLibrary.cardpanel_panel_black_mid_left, (Image) GFXLibrary.cardpanel_panel_black_mid_mid, (Image) GFXLibrary.cardpanel_panel_black_mid_right, (Image) GFXLibrary.cardpanel_panel_black_bottom_left, (Image) GFXLibrary.cardpanel_panel_black_bottom_mid, (Image) GFXLibrary.cardpanel_panel_black_bottom_right);
     this.cardsInPlay.init(cardSection, 0x70, false, 14, 3, 0);
     this.cardsInPlay.Position = new Point(0, 5);
     this.AvailablePanel.addControl(this.cardsInPlay);
     int width = base.Width;
     int borderPadding = BorderPadding;
     int num3 = this.AvailablePanel.Width;
     this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal;
     this.closeImage.Size = this.closeImage.Image.Size;
     this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick));
     this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
     this.mainBackgroundImage.addControl(this.closeImage);
     CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
         FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
         Size = new Size(base.Width - 10, 1),
         Position = new Point(5, 0x22)
     };
     this.mainBackgroundImage.addControl(fill);
     this.greyout.FillColor = Color.FromArgb(0xd7, 0x19, 0x19, 0x19);
     this.greyout.Size = new Size(this.mainBackgroundImage.Width, this.AvailablePanel.Y + this.AvailablePanel.Height);
     this.greyout.Position = new Point(0, 0);
     this.greyout.setClickDelegate(delegate {
     });
     CustomSelfDrawPanel.CSDImage closeGrey = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_button_close_normal,
         Size = this.closeImage.Image.Size
     };
     closeGrey.setMouseOverDelegate(() => closeGrey.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => closeGrey.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     closeGrey.Position = new Point((base.Width - 14) - 0x11, 10);
     this.greyout.addControl(closeGrey);
     this.labelTitle.Position = new Point(0x1b, 8);
     this.labelTitle.Size = new Size(0x3a7, 0x40);
     this.labelTitle.Text = SK.Text("ViewAllCardsPanel_Cards_In_Play", "Cards In Play");
     this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelTitle.Font = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
     this.labelTitle.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelTitle);
     CustomSelfDrawPanel.UICardsButtons buttons = new CustomSelfDrawPanel.UICardsButtons((PlayCardsWindow) base.ParentForm) {
         Position = new Point(0x328, 0x25)
     };
     this.mainBackgroundImage.addControl(buttons);
     this.cardButtons = buttons;
     if (cardSection != 0)
     {
         CustomSelfDrawPanel.CSDButton button = new CustomSelfDrawPanel.CSDButton {
             ImageNorm = (Image) GFXLibrary.button_cards_all_normal,
             ImageOver = (Image) GFXLibrary.button_cards_all_over,
             ImageClick = (Image) GFXLibrary.button_cards_all_over,
             Position = new Point(750, 0)
         };
         button.Text.Text = SK.Text("PlayCardsPanel_All_Your_Cards", "All Your Cards");
         button.TextYOffset = -3;
         button.Text.Color = ARGBColors.Black;
         button.Text.Size = new Size(button.Size.Width - 0x2d, button.Size.Height);
         button.Text.Position = new Point(0x2d, 0);
         button.Text.Font = FontManager.GetFont("Arial", 10f, FontStyle.Bold);
         button.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.showAllCardsClick), "PlayCardsPanel_show_all_cards");
         this.mainBackgroundImage.addControl(button);
     }
     CustomSelfDrawPanel.CSDButton button2 = new CustomSelfDrawPanel.CSDButton {
         ImageNorm = (Image) GFXLibrary.misc_button_blue_210wide_normal,
         ImageOver = (Image) GFXLibrary.misc_button_blue_210wide_over,
         ImageClick = (Image) GFXLibrary.misc_button_blue_210wide_pushed,
         Position = new Point(580, 0x203)
     };
     button2.Text.Text = SK.Text("PlayCardsPanel_Return", "Back To Play Cards");
     button2.TextYOffset = -2;
     button2.Text.Color = ARGBColors.Black;
     if ((Program.mySettings.LanguageIdent == "it") || (Program.mySettings.LanguageIdent == "tr"))
     {
         button2.Text.Font = FontManager.GetFont("Arial", 11f, FontStyle.Bold);
     }
     else
     {
         button2.Text.Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold);
     }
     button2.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.returnClicked), "PlayCardsPanel_Back_To_PlayCards");
     this.AvailablePanel.addControl(button2);
     CustomSelfDrawPanel.CSDLabel label = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0x1b, 0x233),
         Size = new Size(0x3a7, 0x40),
         Text = SK.Text("ViewAllCardsPanel_Cancel", "Click on a Card Circle to cancel that card."),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 14f, FontStyle.Regular),
         Color = ARGBColors.White
     };
     this.mainBackgroundImage.addControl(label);
     this.mainBackgroundImage.invalidate();
 }
        public void AddControls()
        {
            this.pnlWorlds.Controls.Clear();
            this.pnlLogin.Controls.Clear();
            this.pnlFeedback.Controls.Clear();
            this.pnlTabs.Controls.Clear();
            this.allButtons = new List<CustomSelfDrawPanel.CSDControl>();
            this.txtEmail = new TextBox();
            this.lblEmailSteam = new CustomSelfDrawPanel.CSDLabel();
            this.lblEmail = new CustomSelfDrawPanel.CSDLabel();
            if (Program.gamersFirstInstall || Program.arcInstall)
            {
                this.lblEmail.Text = "";
            }
            else if (!Program.bigpointInstall)
            {
                this.lblEmail.Text = this.strEmailAddress;
            }
            else
            {
                this.lblEmail.Text = SK.Text("Login_BigPoint_username", "Stronghold Kingdoms Username");
            }
            this.lblEmail.Width = 300;
            this.lblEmail.Height = 0x12;
            this.txtPassword = new TextBox();
            this.lblPassword = new CustomSelfDrawPanel.CSDLabel();
            if (Program.gamersFirstInstall || Program.arcInstall)
            {
                this.lblPassword.Text = "";
            }
            else if (!Program.bigpointInstall)
            {
                this.lblPassword.Text = this.strPassword;
            }
            else
            {
                this.lblPassword.Text = SK.Text("Login_BigPoint_Password", "Your Bigpoint Password");
            }
            this.lblPassword.Width = 300;
            this.lblPassword.Height = 0x12;
            this.LoginPanelControls_LoggedOut = new CustomSelfDrawPanel();
            this.LoginPanelControls_LoggedOut.AutoScaleMode = AutoScaleMode.None;
            this.LoginPanelControls_LoggedOut.forceStyle();
            this.btnLogin = new CustomSelfDrawPanel.CSDImage();
            this.allButtons.Add(this.btnLogin);
            this.btnLogin.Image = this.LoginImage;
            this.btnLogin.Width = this.btnLogin.Image.Width;
            this.btnLogin.Height = this.btnLogin.Image.Height;
            this.btnLogin.Enabled = false;
            this.lblLoginError = new CustomSelfDrawPanel.CSDLabel();
            this.lblLoginError.Color = ARGBColors.Red;
            this.lblLoginError.Visible = false;
            this.lblLoginError.Text = "ERROR:";
            this.lblLoginError.Width = this.pnlLogin.Width;
            this.lblEmail.Position = new Point(4, this.pnlTabs.Height - 0x1d);
            this.txtEmail.Location = new Point(4, this.lblEmail.Y + this.lblEmail.Height);
            this.lblEmailSteam.Position = new Point(4, this.lblEmail.Y + this.lblEmail.Height);
            this.lblPassword.Position = new Point(4, this.txtEmail.Bottom + 2);
            this.txtPassword.Location = new Point(4, this.lblPassword.Y + this.lblPassword.Height);
            this.txtPassword.Width = this.pnlLogin.Width - 8;
            this.txtEmail.Width = this.pnlLogin.Width - 8;
            this.lblEmailSteam.Width = this.pnlLogin.Width - 8;
            this.lblEmailSteam.Height = this.lblEmail.Height;
            this.txtPassword.PasswordChar = '*';
            this.btnLogin.Position = new Point(4, this.txtPassword.Bottom + 4);
            this.lblLoginError.Position = new Point(4, this.btnLogin.Y + this.btnLogin.Height);
            this.btnLogin.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.btnLogin_Click), "ProfileLoginWindow_login");
            this.btnLogin.setMouseOverDelegate(new CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate(this.loginOver), new CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate(this.loginOut));
            this.txtEmail.TextChanged += new EventHandler(this.txtLoginField_Validate_email);
            this.txtPassword.TextChanged += new EventHandler(this.txtLoginField_Validate);
            this.btnLoginFB = new CustomSelfDrawPanel.CSDButton();
            this.allButtons.Add(this.btnLoginFB);
            switch (Program.mySettings.LanguageIdent)
            {
                case "fr":
                    this.btnLoginFB.ImageNorm = (Image) GFXLibrary.facebookLogin_EN;
                    break;

                case "de":
                    this.btnLoginFB.ImageNorm = (Image) GFXLibrary.facebookLogin_DE;
                    break;

                case "ru":
                    this.btnLoginFB.ImageNorm = (Image) GFXLibrary.facebookLogin_RU;
                    break;

                case "es":
                    this.btnLoginFB.ImageNorm = (Image) GFXLibrary.facebookLogin_ES;
                    break;

                case "pl":
                    this.btnLoginFB.ImageNorm = (Image) GFXLibrary.facebookLogin_PL;
                    break;

                case "tr":
                    this.btnLoginFB.ImageNorm = (Image) GFXLibrary.facebookLogin_TR;
                    break;

                case "it":
                    this.btnLoginFB.ImageNorm = (Image) GFXLibrary.facebookLogin_IT;
                    break;

                case "pt":
                    this.btnLoginFB.ImageNorm = (Image) GFXLibrary.facebookLogin_PT;
                    break;

                default:
                    this.btnLoginFB.ImageNorm = (Image) GFXLibrary.facebookLogin_EN;
                    break;
            }
            this.btnLoginFB.OverBrighten = true;
            this.btnLoginFB.MoveOnClick = true;
            this.btnLoginFB.Enabled = false;
            this.btnLoginFB.Position = new Point((4 + this.btnLogin.Image.Width) + 4, this.txtPassword.Bottom + 4);
            this.lblLoginError.Position = new Point(4, this.btnLoginFB.Y + this.btnLoginFB.Height);
            this.btnLoginFB.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.btnLoginFB_Click), "ProfileLoginWindow_login");
            this.txtEmail.KeyPress += new KeyPressEventHandler(this.txtEmail_KeyPress);
            this.txtPassword.KeyPress += new KeyPressEventHandler(this.txtEmail_KeyPress);
            this.LoginPanelControls_LoggedOut.addControl(this.lblEmail);
            this.LoginPanelControls_LoggedOut.Controls.Add(this.txtEmail);
            this.LoginPanelControls_LoggedOut.addControl(this.lblEmailSteam);
            if ((Program.steamInstall && Program.steamActive) && Program.kingdomsAccountFound)
            {
                this.txtEmail.Visible = false;
                this.lblEmailSteam.Visible = true;
                this.lblEmailSteam.Text = Program.steamEmail;
                this.btnLoginFB.Visible = false;
            }
            else if ((Program.steamInstall && Program.steamActive) && !Program.kingdomsAccountFound)
            {
                this.txtEmail.Visible = false;
                this.lblEmailSteam.Visible = true;
                this.ShowCreateUserForm();
                this.btnLoginFB.Visible = false;
            }
            else if (Program.aeriaInstall || Program.bigpointInstall)
            {
                this.txtEmail.Visible = false;
                this.lblEmail.Visible = false;
                this.txtPassword.Visible = false;
                this.lblPassword.Visible = false;
                this.btnLogin.Visible = false;
                this.btnLoginFB.Visible = false;
            }
            if (Program.bigpointPartnerInstall)
            {
                this.txtEmail.Visible = false;
                this.lblEmail.Visible = false;
                this.txtPassword.Visible = false;
                this.lblPassword.Visible = false;
                this.btnLogin.Visible = true;
                this.btnLoginFB.Visible = false;
                this.btnLogin.Position = new Point(0x54, (this.txtPassword.Bottom + 4) - 30);
                this.bp2_loginMode = 0;
            }
            this.LoginPanelControls_LoggedOut.addControl(this.lblPassword);
            this.LoginPanelControls_LoggedOut.Controls.Add(this.txtPassword);
            this.LoginPanelControls_LoggedOut.addControl(this.btnLogin);
            this.LoginPanelControls_LoggedOut.addControl(this.btnLoginFB);
            this.LoginPanelControls_LoggedOut.addControl(this.lblLoginError);
            this.LoginPanelControls_LoggedOut.Size = this.pnlLogin.Size;
            this.LoginPanelControls_LoggedOut.Visible = true;
            this.pnlLogin.Controls.Add(this.LoginPanelControls_LoggedOut);
            this.LoginPanelControls_LoggedIn = new CustomSelfDrawPanel();
            this.LoginPanelControls_LoggedIn.AutoScaleMode = AutoScaleMode.None;
            this.LoginPanelControls_LoggedIn.forceStyle();
            this.LoginPanelControls_LoggedIn.Size = this.pnlLogin.Size;
            this.btnClientLogout = new CustomSelfDrawPanel.CSDImage();
            this.allButtons.Add(this.btnClientLogout);
            this.btnClientLogout.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.btnClientLogout_Click), "ProfileLoginWindow_logout");
            this.btnClientLogout.setMouseOverDelegate(new CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate(this.logoutOver), new CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate(this.logoutOut));
            this.btnClientLogout.Image = this.LogoutImage;
            this.btnClientLogout.Width = this.btnClientLogout.Image.Width;
            this.btnClientLogout.Height = this.btnClientLogout.Image.Height;
            if (((!Program.steamActive && !Program.aeriaInstall) && (!Program.gamersFirstInstall && !Program.arcInstall)) && !Program.bigpointInstall)
            {
                this.LoginPanelControls_LoggedIn.addControl(this.btnClientLogout);
            }
            this.pnlLogin.Controls.Add(this.LoginPanelControls_LoggedIn);
            this.btnShieldDesigner = new CustomSelfDrawPanel.CSDImage();
            this.allButtons.Add(this.btnShieldDesigner);
            this.lblUsername = new CustomSelfDrawPanel.CSDImage();
            this.LoginPanelControls_LoggedIn.addControl(this.btnShieldDesigner);
            this.LoginPanelControls_LoggedIn.addControl(this.lblUsername);
            this.btnShieldDesigner.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.LoadShieldDesigner), "ProfileLoginWindow_shield_designer");
            this.btnClientLogout.Y = this.pnlTabs.Height - 0x1d;
            this.btnClientLogout.X = (this.LoginPanelControls_LoggedIn.Width - this.btnClientLogout.Width) - 4;
            this.lblUsername.X = 4;
            this.lblUsername.Y = this.btnClientLogout.Y;
            this.WorldsPanelcontrols_LoggedOut = new CustomSelfDrawPanel();
            this.WorldsPanelcontrols_LoggedOut.AutoScaleMode = AutoScaleMode.None;
            this.WorldsPanelcontrols_LoggedOut.forceStyle();
            this.WorldsPanelcontrols_LoggedOut.Size = this.pnlWorlds.Size;
            this.lblWorldsOfflineError = new CustomSelfDrawPanel.CSDLabel();
            this.lblWorldsOfflineError.Color = ARGBColors.Red;
            this.WorldsPanelcontrols_LoggedOut.addControl(this.lblWorldsOfflineError);
            this.WorldsPanelcontrols_LoggedOut.Visible = false;
            this.pnlWorlds.Controls.Add(this.WorldsPanelcontrols_LoggedOut);
            this.WorldsPanelcontrols_LoggedIn = new CustomSelfDrawPanel();
            this.WorldsPanelcontrols_LoggedIn.forceStyle();
            this.WorldsPanelcontrols_LoggedIn.AutoScaleMode = AutoScaleMode.None;
            this.WorldsPanelcontrols_LoggedIn.Size = this.pnlWorlds.Size;
            this.lblWorldsOnlineError = new CustomSelfDrawPanel.CSDLabel();
            this.lblWorldsOnlineError.Color = ARGBColors.Red;
            this.WorldsPanelcontrols_LoggedIn.addControl(this.lblWorldsOnlineError);
            this.WorldsPanelcontrols_LoggedIn.Visible = false;
            this.pnlWorlds.Controls.Add(this.WorldsPanelcontrols_LoggedIn);
            this.BrowserTabsControls = new CustomSelfDrawPanel();
            this.BrowserTabsControls.forceStyle();
            this.BrowserTabsControls.AutoScaleMode = AutoScaleMode.None;
            this.BrowserTabsControls.Size = this.pnlTabs.Size;
            this.pnlTabs.Controls.Add(this.BrowserTabsControls);
            this.btnExit.GotFocus += new EventHandler(this.btnExit_GotFocus);
            if (Program.mySettings.Username.Trim().Length > 0)
            {
                this.ignoreEmailChange = true;
                this.txtEmail.Text = Program.mySettings.Username;
                this.ignoreEmailChange = false;
                if (Program.steamActive)
                {
                    this.lblEmailSteam.Text = Program.steamEmail;
                    this.txtPassword.Visible = false;
                    this.lblPassword.Visible = false;
                    this.btnLogin.Visible = false;
                    this.btnLoginFB.Visible = false;
                }
                this.txtPassword.Focus();
            }
            else
            {
                this.txtEmail.Focus();
            }
            this.LoginPanelControls_Feedback = new CustomSelfDrawPanel();
            this.LoginPanelControls_Feedback.forceStyle();
            this.LoginPanelControls_Feedback.Location = new Point(0, 0);
            this.LoginPanelControls_Feedback.AutoScaleMode = AutoScaleMode.None;
            this.LoginPanelControls_Feedback.Size = this.pnlFeedback.Size;
            this.feedbackProgressArea = new CustomSelfDrawPanel.CSDArea();
            this.feedbackProgressArea.Size = this.LoginPanelControls_Feedback.Size;
            this.LoginPanelControls_Feedback.addControl(this.feedbackProgressArea);
            this.feedbackProgress = new CustomSelfDrawPanel.CSDFill();
            this.feedbackProgress.FillColor = Color.FromArgb(0xff, 0xb6, 0);
            this.feedbackProgress.Size = new Size(0, this.pnlFeedback.Height);
            this.feedbackProgressArea.addControl(this.feedbackProgress);
            this.feedbackLine = new CustomSelfDrawPanel.CSDLine();
            this.feedbackLine.Position = new Point(0, 0);
            this.feedbackLine.Size = new Size(this.pnlFeedback.Width, 0);
            this.feedbackLine.LineColor = ARGBColors.Black;
            this.feedbackProgressArea.addControl(this.feedbackLine);
            this.exitButton = new CustomSelfDrawPanel.CSDImage();
            this.allButtons.Add(this.exitButton);
            this.exitButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.btnExit_Click), "ProfileLoginWindow_exit");
            this.exitButton.setMouseOverDelegate(new CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate(this.exitOver), new CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate(this.exitOut));
            this.exitButton.Image = this.ExitImage;
            this.exitButton.Width = this.exitButton.Image.Width;
            this.exitButton.Height = this.exitButton.Image.Height;
            this.exitButton.Position = new Point(0x337, 5);
            this.feedbackProgressArea.addControl(this.exitButton);
            this.cancelButton = new CustomSelfDrawPanel.CSDImage();
            this.cancelButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.cancelClick), "ProfileLoginWindow_cancel");
            this.cancelButton.setMouseOverDelegate(new CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate(this.cancelOver), new CustomSelfDrawPanel.CSDControl.CSD_MouseOverDelegate(this.cancelOut));
            this.cancelButton.Image = this.CancelImage;
            this.cancelButton.Width = this.cancelButton.Image.Width;
            this.cancelButton.Height = this.cancelButton.Image.Height;
            this.cancelButton.Position = new Point(4, 5);
            this.cancelButton.Visible = false;
            this.feedbackProgressArea.addControl(this.cancelButton);
            this.lblRetrieving = new CustomSelfDrawPanel.CSDLabel();
            this.lblRetrieving.Text = "";
            this.lblRetrieving.Position = new Point(0x70, 10);
            this.lblRetrieving.Size = new Size(600, 20);
            this.lblRetrieving.Font = FontManager.GetFont("Microsoft Sans Serif", 8.25f);
            this.lblRetrieving.Color = ARGBColors.Black;
            this.lblRetrieving.Visible = false;
            this.Text = this.defaultWindowTitle;
            this.feedbackProgressArea.addControl(this.lblRetrieving);
            this.lblVersion = new CustomSelfDrawPanel.CSDLabel();
            this.lblVersion.Text = "";
            this.lblVersion.Position = new Point(640, 10);
            this.lblVersion.Size = new Size(0xa8, 20);
            this.lblVersion.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_RIGHT;
            this.lblVersion.Font = FontManager.GetFont("Microsoft Sans Serif", 8.25f);
            this.lblVersion.Color = ARGBColors.Black;
            this.lblVersion.Visible = false;
            this.feedbackProgressArea.addControl(this.lblVersion);
            this.tandcLabel = new CustomSelfDrawPanel.CSDLabel();
            this.tandcLabel.Text = SK.Text("MENU_TandC", "Terms & Conditions").Replace("&amp;", "&");
            this.tandcLabel.Size = new Size(270, 15);
            this.tandcLabel.Position = new Point(40, 10);
            this.tandcLabel.Font = FontManager.GetFont("Arial", 8f, FontStyle.Regular);
            this.tandcLabel.Color = ARGBColors.Black;
            this.tandcLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.tcClicked));
            this.tandcLabel.setMouseOverDelegate(() => this.tandcLabel.Color = ARGBColors.Red, () => this.tandcLabel.Color = ARGBColors.Black);
            this.tandcLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
            this.tandcLabel.Visible = true;
            this.feedbackProgressArea.addControl(this.tandcLabel);
            this.gameRulesLabel = new CustomSelfDrawPanel.CSDLabel();
            this.gameRulesLabel.Text = SK.Text("MENU_Game_Rules", "Game Rules");
            this.gameRulesLabel.Size = new Size(300, 15);
            if (Program.mySettings.languageIdent == "de")
            {
                this.gameRulesLabel.Position = new Point(0xfd, 10);
            }
            else
            {
                this.gameRulesLabel.Position = new Point(0xcd, 10);
            }
            this.gameRulesLabel.Font = FontManager.GetFont("Arial", 8f, FontStyle.Regular);
            this.gameRulesLabel.Color = ARGBColors.Black;
            this.gameRulesLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.gameRulesClicked));
            this.gameRulesLabel.setMouseOverDelegate(() => this.gameRulesLabel.Color = ARGBColors.Red, () => this.gameRulesLabel.Color = ARGBColors.Black);
            this.gameRulesLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
            this.gameRulesLabel.Visible = true;
            this.feedbackProgressArea.addControl(this.gameRulesLabel);
            this.forumLabel = new CustomSelfDrawPanel.CSDLabel();
            this.forumLabel.Text = SK.Text("MENU_Forum", "Forum");
            this.forumLabel.Size = new Size(300, 15);
            this.forumLabel.Position = new Point(370, 10);
            this.forumLabel.Font = FontManager.GetFont("Arial", 8f, FontStyle.Regular);
            this.forumLabel.Color = ARGBColors.Black;
            this.forumLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.forumClicked));
            this.forumLabel.setMouseOverDelegate(() => this.forumLabel.Color = ARGBColors.Red, () => this.forumLabel.Color = ARGBColors.Black);
            this.forumLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
            if (Program.bigpointInstall || Program.bigpointPartnerInstall)
            {
                this.forumLabel.Visible = false;
            }
            else
            {
                this.forumLabel.Visible = true;
            }
            this.feedbackProgressArea.addControl(this.forumLabel);
            this.supportLabel = new CustomSelfDrawPanel.CSDLabel();
            this.supportLabel.Text = SK.Text("MENU_Support", "Support");
            this.supportLabel.Size = new Size(100, 15);
            this.supportLabel.Position = new Point(0x217, 10);
            this.supportLabel.Font = FontManager.GetFont("Arial", 8f, FontStyle.Regular);
            this.supportLabel.Color = ARGBColors.Black;
            this.supportLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.supportClicked));
            this.supportLabel.setMouseOverDelegate(() => this.supportLabel.Color = ARGBColors.Red, () => this.supportLabel.Color = ARGBColors.Black);
            this.supportLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
            this.supportLabel.Visible = true;
            this.feedbackProgressArea.addControl(this.supportLabel);
            this.pnlFeedback.Controls.Add(this.LoginPanelControls_Feedback);
            this.GreyoutWorlds = this.MakeGreyoutImage(this.pnlWorlds);
            this.GreyoutLogin = this.MakeGreyoutImage(this.pnlLogin);
            this.GreyoutTabs = this.MakeGreyoutImage(this.pnlFeedback);
            if (Program.steamActive)
            {
                this.lblEmail.Visible = false;
                this.lblPassword.Visible = false;
                this.txtPassword.Visible = false;
            }
            if ((Program.steamInstall && Program.steamActive) && (Program.kingdomsAccountFound && !successfulAutoLogin))
            {
                this.btnLogin_Click();
            }
            if (Program.gamersFirstInstall || Program.arcInstall)
            {
                this.lblEmail.Visible = false;
                this.lblPassword.Visible = false;
                this.txtPassword.Visible = false;
                this.txtEmail.Visible = false;
                this.btnLogin.Visible = false;
                this.btnLoginFB.Visible = false;
                Program.mySettings.AutoLogin = false;
                if (!successfulAutoLogin)
                {
                    this.btnLogin_Click();
                }
            }
        }
 public Color addColours(CustomSelfDrawPanel panel, Color[] colours, Color curColour, int row)
 {
     panel.clearControls();
     CustomSelfDrawPanel.CSDFill fill = null;
     bool flag = false;
     int num = 0;
     foreach (Color color in colours)
     {
         CustomSelfDrawPanel.CSDFill control = new CustomSelfDrawPanel.CSDFill {
             Size = new Size(12, 12),
             Position = new Point(num * 13, 4)
         };
         control.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.colourClickedCSD));
         control.FillColor = color;
         panel.addControl(control);
         num++;
         if (color == curColour)
         {
             flag = true;
             control.Border = true;
         }
         if (fill == null)
         {
             fill = control;
         }
     }
     if (!flag)
     {
         curColour = colours[0];
         fill.Border = true;
     }
     panel.Invalidate();
     return curColour;
 }
        public void init(int currentResource, SelectTradingResourcePopup parentWindow, LogoutPanel logoutParent)
        {
            this.m_parentWindow = parentWindow;
            this.m_logoutParent = logoutParent;
            base.clearControls();
            int width = 12;

            this.backgroundImage.Size = new Size(0x270, 0x144);
            CustomSelfDrawPanel.CSDFill control = new CustomSelfDrawPanel.CSDFill {
                Position  = new Point(0, 0),
                Size      = new Size(width, this.backgroundImage.Height),
                FillColor = Color.FromArgb(0xff, 0, 0xff)
            };
            base.addControl(control);
            CustomSelfDrawPanel.CSDFill fill2 = new CustomSelfDrawPanel.CSDFill {
                Position  = new Point(this.backgroundImage.Width - width, 0),
                Size      = new Size(width, this.backgroundImage.Height),
                FillColor = Color.FromArgb(0xff, 0, 0xff)
            };
            base.addControl(fill2);
            CustomSelfDrawPanel.CSDFill fill3 = new CustomSelfDrawPanel.CSDFill {
                Position  = new Point(0, 0),
                Size      = new Size(this.backgroundImage.Width, width),
                FillColor = Color.FromArgb(0xff, 0, 0xff)
            };
            base.addControl(fill3);
            CustomSelfDrawPanel.CSDFill fill4 = new CustomSelfDrawPanel.CSDFill {
                Position  = new Point(0, this.backgroundImage.Height - width),
                Size      = new Size(this.backgroundImage.Width, width),
                FillColor = Color.FromArgb(0xff, 0, 0xff)
            };
            base.addControl(fill4);
            this.backgroundImage.Position = new Point(0, 0);
            base.addControl(this.backgroundImage);
            this.backgroundImage.Create((Image)GFXLibrary.parishwall_solid_rounded_rectangle_tan_upper_left, (Image)GFXLibrary.parishwall_solid_rounded_rectangle_tan_upper_middle, (Image)GFXLibrary.parishwall_solid_rounded_rectangle_tan_upper_right, (Image)GFXLibrary.parishwall_solid_rounded_rectangle_tan_middle_left, (Image)GFXLibrary.parishwall_solid_rounded_rectangle_tan_middle_middle, (Image)GFXLibrary.parishwall_solid_rounded_rectangle_tan_middle_right, (Image)GFXLibrary.parishwall_solid_rounded_rectangle_tan_bottom_left, (Image)GFXLibrary.parishwall_solid_rounded_rectangle_tan_bottom_middle, (Image)GFXLibrary.parishwall_solid_rounded_rectangle_tan_bottom_right);
            int num2 = 0x4b;

            CustomSelfDrawPanel.ResourceButton button = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width, width)
            };
            button.init(6, logoutParent);
            this.backgroundImage.addControl(button);
            CustomSelfDrawPanel.ResourceButton button2 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + num2, width)
            };
            button2.init(7, logoutParent);
            this.backgroundImage.addControl(button2);
            CustomSelfDrawPanel.ResourceButton button3 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 2), width)
            };
            button3.init(8, logoutParent);
            this.backgroundImage.addControl(button3);
            CustomSelfDrawPanel.ResourceButton button4 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 3), width)
            };
            button4.init(9, logoutParent);
            this.backgroundImage.addControl(button4);
            CustomSelfDrawPanel.ResourceButton button5 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width, width + num2)
            };
            button5.init(13, logoutParent);
            this.backgroundImage.addControl(button5);
            CustomSelfDrawPanel.ResourceButton button6 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + num2, width + num2)
            };
            button6.init(0x11, logoutParent);
            this.backgroundImage.addControl(button6);
            CustomSelfDrawPanel.ResourceButton button7 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 2), width + num2)
            };
            button7.init(0x10, logoutParent);
            this.backgroundImage.addControl(button7);
            CustomSelfDrawPanel.ResourceButton button8 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 3), width + num2)
            };
            button8.init(14, logoutParent);
            this.backgroundImage.addControl(button8);
            CustomSelfDrawPanel.ResourceButton button9 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 4), width + num2)
            };
            button9.init(15, logoutParent);
            this.backgroundImage.addControl(button9);
            CustomSelfDrawPanel.ResourceButton button10 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 5), width + num2)
            };
            button10.init(0x12, logoutParent);
            this.backgroundImage.addControl(button10);
            CustomSelfDrawPanel.ResourceButton button11 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 7), width + num2)
            };
            button11.init(12, logoutParent);
            this.backgroundImage.addControl(button11);
            CustomSelfDrawPanel.ResourceButton button12 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width, width + (num2 * 2))
            };
            button12.init(0x16, logoutParent);
            this.backgroundImage.addControl(button12);
            CustomSelfDrawPanel.ResourceButton button13 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + num2, width + (num2 * 2))
            };
            button13.init(0x15, logoutParent);
            this.backgroundImage.addControl(button13);
            CustomSelfDrawPanel.ResourceButton button14 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 2), width + (num2 * 2))
            };
            button14.init(0x1a, logoutParent);
            this.backgroundImage.addControl(button14);
            CustomSelfDrawPanel.ResourceButton button15 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 3), width + (num2 * 2))
            };
            button15.init(0x13, logoutParent);
            this.backgroundImage.addControl(button15);
            CustomSelfDrawPanel.ResourceButton button16 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 4), width + (num2 * 2))
            };
            button16.init(0x21, logoutParent);
            this.backgroundImage.addControl(button16);
            CustomSelfDrawPanel.ResourceButton button17 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 5), width + (num2 * 2))
            };
            button17.init(0x17, logoutParent);
            this.backgroundImage.addControl(button17);
            CustomSelfDrawPanel.ResourceButton button18 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 6), width + (num2 * 2))
            };
            button18.init(0x18, logoutParent);
            this.backgroundImage.addControl(button18);
            CustomSelfDrawPanel.ResourceButton button19 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 7), width + (num2 * 2))
            };
            button19.init(0x19, logoutParent);
            this.backgroundImage.addControl(button19);
            CustomSelfDrawPanel.ResourceButton button20 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width, width + (num2 * 3))
            };
            button20.init(0x1d, logoutParent);
            this.backgroundImage.addControl(button20);
            CustomSelfDrawPanel.ResourceButton button21 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + num2, width + (num2 * 3))
            };
            button21.init(0x1c, logoutParent);
            this.backgroundImage.addControl(button21);
            CustomSelfDrawPanel.ResourceButton button22 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 2), width + (num2 * 3))
            };
            button22.init(0x1f, logoutParent);
            this.backgroundImage.addControl(button22);
            CustomSelfDrawPanel.ResourceButton button23 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 3), width + (num2 * 3))
            };
            button23.init(30, logoutParent);
            this.backgroundImage.addControl(button23);
            CustomSelfDrawPanel.ResourceButton button24 = new CustomSelfDrawPanel.ResourceButton {
                Position = new Point(width + (num2 * 4), width + (num2 * 3))
            };
            button24.init(0x20, logoutParent);
            this.backgroundImage.addControl(button24);
            parentWindow.Size = this.backgroundImage.Size;
            base.Invalidate();
            parentWindow.Invalidate();
        }
 public void init(int cardSection)
 {
     CustomSelfDrawPanel.CSDImage image2;
     this.currentCardSection = cardSection;
     base.clearControls();
     this.mainBackgroundImage.Image = GFXLibrary.dummy;
     this.mainBackgroundImage.Position = new Point(0, 0);
     this.mainBackgroundImage.Size = base.Size;
     this.mainBackgroundImage.Tile = true;
     base.addControl(this.mainBackgroundImage);
     this.ContentWidth = base.Width - (2 * BorderPadding);
     this.AvailablePanelWidth = 800;
     CustomSelfDrawPanel.CSDExtendingPanel control = new CustomSelfDrawPanel.CSDExtendingPanel {
         Size = base.Size,
         Position = new Point(0, 0)
     };
     this.mainBackgroundImage.addControl(control);
     control.Create((Image) GFXLibrary.cardpanel_panel_back_top_left, (Image) GFXLibrary.cardpanel_panel_back_top_mid, (Image) GFXLibrary.cardpanel_panel_back_top_right, (Image) GFXLibrary.cardpanel_panel_back_mid_left, (Image) GFXLibrary.cardpanel_panel_back_mid_mid, (Image) GFXLibrary.cardpanel_panel_back_mid_right, (Image) GFXLibrary.cardpanel_panel_back_bottom_left, (Image) GFXLibrary.cardpanel_panel_back_bottom_mid, (Image) GFXLibrary.cardpanel_panel_back_bottom_right);
     CustomSelfDrawPanel.CSDImage image = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_top_left,
         Size = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
         Position = new Point(0, 0)
     };
     control.addControl(image);
     image2 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_bottom_right,
         Size = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
         Position = new Point((control.Width - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (control.Height - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
     };
     control.addControl(image2);
     this.AvailablePanel = new CustomSelfDrawPanel.CSDExtendingPanel();
     this.AvailablePanel.Size = new Size(this.AvailablePanelWidth, 0x177);
     this.AvailablePanel.Position = new Point(8, (base.Height - 8) - 550);
     this.AvailablePanel.Alpha = 0.8f;
     this.mainBackgroundImage.addControl(this.AvailablePanel);
     this.AvailablePanel.Create((Image) GFXLibrary.cardpanel_panel_black_top_left, (Image) GFXLibrary.cardpanel_panel_black_top_mid, (Image) GFXLibrary.cardpanel_panel_black_top_right, (Image) GFXLibrary.cardpanel_panel_black_mid_left, (Image) GFXLibrary.cardpanel_panel_black_mid_mid, (Image) GFXLibrary.cardpanel_panel_black_mid_right, (Image) GFXLibrary.cardpanel_panel_black_bottom_left, (Image) GFXLibrary.cardpanel_panel_black_bottom_mid, (Image) GFXLibrary.cardpanel_panel_black_bottom_right);
     int width = base.Width;
     int borderPadding = BorderPadding;
     int num3 = this.AvailablePanel.Width;
     this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal;
     this.closeImage.Size = this.closeImage.Image.Size;
     this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick), "Cards_Close");
     this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
     this.mainBackgroundImage.addControl(this.closeImage);
     CustomSelfDrawPanel.WikiLinkControl.init(this.mainBackgroundImage, 0x27, new Point((((base.Width - 1) - 0x11) - 50) + 3, 5), true);
     CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
         FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
         Size = new Size(base.Width - 10, 1),
         Position = new Point(5, 0x22)
     };
     this.mainBackgroundImage.addControl(fill);
     this.greyout.FillColor = Color.FromArgb(0xd7, 0x19, 0x19, 0x19);
     this.greyout.Size = new Size(this.mainBackgroundImage.Width, this.AvailablePanel.Y + this.AvailablePanel.Height);
     this.greyout.Position = new Point(0, 0);
     this.greyout.setClickDelegate(delegate {
     });
     CustomSelfDrawPanel.CSDImage closeGrey = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_button_close_normal,
         Size = this.closeImage.Image.Size
     };
     closeGrey.setMouseOverDelegate(() => closeGrey.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => closeGrey.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     closeGrey.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.CloseGrey), "BuyCardsPanel_close_overlay");
     closeGrey.Position = new Point((base.Width - 14) - 0x11, 10);
     this.greyout.addControl(closeGrey);
     CustomSelfDrawPanel.UICardsButtons buttons = new CustomSelfDrawPanel.UICardsButtons((PlayCardsWindow) base.ParentForm) {
         Position = new Point(0x328, 0x25)
     };
     this.mainBackgroundImage.addControl(buttons);
     this.cardButtons = buttons;
     this.labelTitle.Position = new Point(0x1b, 8);
     this.labelTitle.Size = new Size(0x3a7, 0x40);
     this.labelTitle.Text = SK.Text("BuyCardsPanel_Buy_and_Open_Packs", "Buy and Open Card Packs: Crowns in your treasury") + " : " + GameEngine.Instance.World.ProfileCrowns.ToString();
     this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelTitle.Font = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
     this.labelTitle.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelTitle);
     this.labelBottom.Position = new Point(0x1b, (this.AvailablePanel.Y + this.AvailablePanel.Height) + 4);
     this.labelBottom.Size = new Size(800, 0x40);
     this.labelBottom.Text = SK.Text("BuyCardsPanel_Click_To_Open", "Click on a pack to open it");
     this.labelBottom.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelBottom.Font = FontManager.GetFont("Arial", 16f, FontStyle.Regular);
     this.labelBottom.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelBottom);
     this.packWidth = 100;
     this.packX = this.AvailablePanel.X + BorderPadding;
     this.offerX = (this.packX + this.packWidth) - 0x10;
     this.GetOffercontrolList();
     this.AddOfferControls();
     this.UpdatePacks();
 }
 public void init(int cardSection)
 {
     CustomSelfDrawPanel.CSDImage image2;
     this.inSend = false;
     this.currentCardSection = cardSection;
     base.clearControls();
     this.mainBackgroundImage.Image = GFXLibrary.dummy;
     this.mainBackgroundImage.Position = new Point(0, 0);
     this.mainBackgroundImage.Size = base.Size;
     this.mainBackgroundImage.Tile = true;
     base.addControl(this.mainBackgroundImage);
     this.ContentWidth = base.Width - (2 * BorderPadding);
     this.AvailablePanelWidth = 800;
     CustomSelfDrawPanel.CSDExtendingPanel control = new CustomSelfDrawPanel.CSDExtendingPanel {
         Size = base.Size,
         Position = new Point(0, 0)
     };
     this.mainBackgroundImage.addControl(control);
     control.Create((Image) GFXLibrary.cardpanel_panel_back_top_left, (Image) GFXLibrary.cardpanel_panel_back_top_mid, (Image) GFXLibrary.cardpanel_panel_back_top_right, (Image) GFXLibrary.cardpanel_panel_back_mid_left, (Image) GFXLibrary.cardpanel_panel_back_mid_mid, (Image) GFXLibrary.cardpanel_panel_back_mid_right, (Image) GFXLibrary.cardpanel_panel_back_bottom_left, (Image) GFXLibrary.cardpanel_panel_back_bottom_mid, (Image) GFXLibrary.cardpanel_panel_back_bottom_right);
     CustomSelfDrawPanel.CSDImage image = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_top_left,
         Size = GFXLibrary.cardpanel_panel_gradient_top_left.Size,
         Position = new Point(0, 0)
     };
     control.addControl(image);
     image2 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.cardpanel_panel_gradient_bottom_right,
         Size = GFXLibrary.cardpanel_panel_gradient_bottom_right.Size,
         Position = new Point((control.Width - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Width) - 6, (control.Height - ((Image) GFXLibrary.cardpanel_panel_gradient_bottom_right).Height) - 6)
     };
     control.addControl(image2);
     this.AvailablePanel = new CustomSelfDrawPanel.CSDExtendingPanel();
     this.AvailablePanel.Size = new Size(this.AvailablePanelWidth, 0x181);
     this.AvailablePanel.Position = new Point(8, (base.Height - 8) - 0x181);
     this.AvailablePanel.Alpha = 0.8f;
     this.mainBackgroundImage.addControl(this.AvailablePanel);
     this.AvailablePanel.Create((Image) GFXLibrary.cardpanel_panel_black_top_left, (Image) GFXLibrary.cardpanel_panel_black_top_mid, (Image) GFXLibrary.cardpanel_panel_black_top_right, (Image) GFXLibrary.cardpanel_panel_black_mid_left, (Image) GFXLibrary.cardpanel_panel_black_mid_mid, (Image) GFXLibrary.cardpanel_panel_black_mid_right, (Image) GFXLibrary.cardpanel_panel_black_bottom_left, (Image) GFXLibrary.cardpanel_panel_black_bottom_mid, (Image) GFXLibrary.cardpanel_panel_black_bottom_right);
     int width = base.Width;
     int borderPadding = BorderPadding;
     int num8 = this.AvailablePanel.Width;
     this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal;
     this.closeImage.Size = this.closeImage.Image.Size;
     this.closeImage.setMouseOverDelegate(() => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_over, () => this.closeImage.Image = (Image) GFXLibrary.cardpanel_button_close_normal);
     this.closeImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick), "Cards_Close");
     this.closeImage.Position = new Point((base.Width - 14) - 0x11, 10);
     this.closeImage.CustomTooltipID = 0x2774;
     this.mainBackgroundImage.addControl(this.closeImage);
     CustomSelfDrawPanel.WikiLinkControl.init(this.mainBackgroundImage, 0x25, new Point((((base.Width - 1) - 0x11) - 50) + 3, 5), true);
     CustomSelfDrawPanel.CSDFill fill = new CustomSelfDrawPanel.CSDFill {
         FillColor = Color.FromArgb(0xff, 130, 0x81, 0x7e),
         Size = new Size(base.Width - 10, 1),
         Position = new Point(5, 0x22)
     };
     this.mainBackgroundImage.addControl(fill);
     this.greyout.FillColor = Color.FromArgb(0xd7, 0x19, 0x19, 0x19);
     this.greyout.Size = new Size(this.mainBackgroundImage.Width, this.mainBackgroundImage.Height);
     this.greyout.Position = new Point(0, 0);
     this.cardsButtons = new CustomSelfDrawPanel.UICardsButtons((PlayCardsWindow) base.ParentForm);
     this.cardsButtons.Position = new Point(0x328, 0x25);
     this.mainBackgroundImage.addControl(this.cardsButtons);
     this.labelTitle.Position = new Point(0x1b, 8);
     this.labelTitle.Size = new Size(0x3a7, 0x40);
     this.labelTitle.Text = SK.Text("PremiumCardsPanel_Buy_and_Open_Packs", "Buy and Play Premium Tokens: Crowns in your treasury") + " : " + GameEngine.Instance.World.ProfileCrowns.ToString();
     this.labelTitle.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.labelTitle.Font = FontManager.GetFont("Arial", 16f, FontStyle.Bold);
     this.labelTitle.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.labelTitle);
     this.premiumInPlay = GameEngine.Instance.World.UserCardData.premiumCard > 0;
     if (GameEngine.Instance.World.UserCardData.premiumCard == 0x1010)
     {
         this.maxExpirySeconds = 604800.0;
     }
     else if (GameEngine.Instance.World.UserCardData.premiumCard == 0x1012)
     {
         this.maxExpirySeconds = 2592000.0;
     }
     else if (GameEngine.Instance.World.UserCardData.premiumCard == 0x1011)
     {
         this.maxExpirySeconds = 172800.0;
     }
     else if (GameEngine.Instance.World.UserCardData.premiumCard == 0x1014)
     {
         this.maxExpirySeconds = 0.0;
     }
     this.currentExpirySeconds = GameEngine.Instance.World.UserCardData.premiumCardExpiry.Subtract(VillageMap.getCurrentServerTime()).TotalSeconds;
     this.expiryDays = this.currentExpirySeconds / 86400.0;
     this.expiryHours = (this.currentExpirySeconds % 86400.0) / 3600.0;
     this.expiryMinutes = (this.currentExpirySeconds % 3600.0) / 60.0;
     if (this.maxExpirySeconds > 0.0)
     {
         double num = this.currentExpirySeconds / this.maxExpirySeconds;
         this.expiryBarCurrent = Convert.ToInt32(Math.Floor((double) (num * expiryBarMax)));
     }
     else
     {
         this.expiryBarCurrent = -1;
     }
     if (GameEngine.Instance.World.UserCardData.premiumCard > 0)
     {
         this.premiumTokenImage = GFXLibrary.PremiumTokens[GameEngine.Instance.World.UserCardData.premiumCard][0];
     }
     else
     {
         this.premiumTokenImage = GFXLibrary.PremiumTokens[0x1010][0];
     }
     this.PremiumInplayImage.Visible = false;
     this.PremiumInplayImage.Image = this.premiumTokenImage;
     this.PremiumInplayImage.Size = this.premiumTokenImage.Size;
     this.PremiumInplayImage.Position = new Point(((this.AvailablePanel.X + this.AvailablePanel.Width) - 0x20) - this.PremiumInplayImage.Width, this.cardsButtons.Y + 8);
     this.PremiumInplayImage.setMouseOverDelegate(delegate {
         if (GameEngine.Instance.World.UserCardData.premiumCard > 0)
         {
             this.PremiumInplayImage.Image = GFXLibrary.PremiumTokens[GameEngine.Instance.World.UserCardData.premiumCard][1];
         }
     }, delegate {
         if (GameEngine.Instance.World.UserCardData.premiumCard > 0)
         {
             this.PremiumInplayImage.Image = GFXLibrary.PremiumTokens[GameEngine.Instance.World.UserCardData.premiumCard][0];
         }
     });
     this.mainBackgroundImage.addControl(this.PremiumInplayImage);
     if (this.expiryBarCurrent >= 0)
     {
         this.TimerOuter = new CustomSelfDrawPanel.CSDFill();
         this.TimerInner = new CustomSelfDrawPanel.CSDFill();
     }
     else
     {
         this.TimerInner = null;
         this.TimerOuter = null;
     }
     this.PremiumTokensLabel = new CustomSelfDrawPanel.CSDLabel();
     this.PremiumTokensLabel.Position = new Point(this.AvailablePanel.X + 0x20, this.AvailablePanel.Y - 0x18);
     this.PremiumTokensLabel.Size = new Size(450, 0x20);
     this.PremiumTokensLabel.Text = SK.Text("PremiumCardsPanel_Current_Tokens", "Current Premium Tokens") + " : " + GameEngine.Instance.World.ProfilePremiumTokens.Count.ToString() + ((GameEngine.Instance.World.ProfilePremiumTokens.Count > 0) ? (" (" + SK.Text("PremiumCardsPanel_Click_To_Play", "click one to play") + ")") : "");
     this.PremiumTokensLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT;
     this.PremiumTokensLabel.Font = FontManager.GetFont("Arial", 12f, FontStyle.Regular);
     this.PremiumTokensLabel.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.PremiumTokensLabel);
     CustomSelfDrawPanel.CSDImage image3 = new CustomSelfDrawPanel.CSDImage();
     BaseImage image4 = GFXLibrary.cardpanel_premium_ad;
     image3.Image = (Image) image4;
     image3.Size = image4.Size;
     image3.Position = new Point(0, 0);
     CustomSelfDrawPanel.CSDImage PremiumAdvert7 = new CustomSelfDrawPanel.CSDImage();
     CustomSelfDrawPanel.CSDImage PremiumAdvert30 = new CustomSelfDrawPanel.CSDImage();
     BaseImage AdImage7 = GFXLibrary.premiumAdvert7;
     BaseImage AdImage7_over = GFXLibrary.premiumAdvert7_over;
     BaseImage AdImage30 = GFXLibrary.premiumAdvert30;
     BaseImage AdImage30_over = GFXLibrary.premiumAdvert30_over;
     PremiumAdvert7.Image = (Image) AdImage7;
     PremiumAdvert7.Size = AdImage7.Size;
     PremiumAdvert7.Position = new Point(0, 0);
     this.AvailablePanelContent.addControl(PremiumAdvert7);
     PremiumAdvert30.Image = (Image) AdImage30;
     PremiumAdvert30.Size = AdImage30.Size;
     PremiumAdvert30.Position = new Point(0x16b, 0);
     this.AvailablePanelContent.addControl(PremiumAdvert30);
     PremiumAdvert7.Data = 0x1010;
     PremiumAdvert30.Data = 0x1012;
     PremiumAdvert7.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.ClickedOffer), "PremiumCardsPanel_buy_premium");
     PremiumAdvert30.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.ClickedOffer), "PremiumCardsPanel_buy_premium");
     PremiumAdvert7.setMouseOverDelegate(() => PremiumAdvert7.Image = (Image) AdImage7_over, () => PremiumAdvert7.Image = (Image) AdImage7);
     PremiumAdvert30.setMouseOverDelegate(() => PremiumAdvert30.Image = (Image) AdImage30_over, () => PremiumAdvert30.Image = (Image) AdImage30);
     image3.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.ClickedOffer), "PremiumCardsPanel_buy_premium");
     image3.Data = 0x1010;
     CustomSelfDrawPanel.CSDLabel label = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, image3.Height + 8),
         Size = new Size(600, 0x20),
         Text = SK.Text("PremiumCardsPanel_Benefits", "Premium Benefits"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 14f, FontStyle.Bold),
         Color = ARGBColors.Gold
     };
     this.AvailablePanelContent.addControl(label);
     CustomSelfDrawPanel.CSDLabel label2 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, ((image3.Height + 8) + label.Height) + 4),
         Size = new Size(600, 30),
         Text = SK.Text("PremiumCardsPanel_Building_Queue", "Building Queue"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold),
         Color = ARGBColors.Goldenrod
     };
     this.AvailablePanelContent.addControl(label2);
     CustomSelfDrawPanel.CSDLabel label3 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(110, ((label2.Y + label2.Height) + 4) - 11),
         Size = new Size(590, 50),
         Text = SK.Text("PremiumCardsPanel_Buildings_Queue_Info", "This allows up to 5 buildings to be queued for construction in the village. You can also move all buildings within your village screen."),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.White
     };
     this.AvailablePanelContent.addControl(label3);
     CustomSelfDrawPanel.CSDImage image5 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.premiumIcons[0],
         Position = new Point(4, ((label2.Y + label2.Height) + 4) - 10)
     };
     this.AvailablePanelContent.addControl(image5);
     CustomSelfDrawPanel.CSDLabel label4 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, (label3.Y + label3.Height) + 4),
         Size = new Size(600, 30),
         Text = SK.Text("PremiumCardsPanel_Research_Queue", "Research Queue"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold),
         Color = ARGBColors.Goldenrod
     };
     this.AvailablePanelContent.addControl(label4);
     CustomSelfDrawPanel.CSDLabel label5 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(110, ((label4.Y + label4.Height) + 4) - 11),
         Size = new Size(590, 50),
         Text = SK.Text("PremiumCardsPanel_Research_Queue_Info", "This allows up to 5 researches to be queued in the research screen."),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.White
     };
     this.AvailablePanelContent.addControl(label5);
     CustomSelfDrawPanel.CSDImage image6 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.premiumIcons[1],
         Position = new Point(4, ((label4.Y + label4.Height) + 4) - 10)
     };
     this.AvailablePanelContent.addControl(image6);
     CustomSelfDrawPanel.CSDLabel label6 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, (label5.Y + label5.Height) + 4),
         Size = new Size(600, 30),
         Text = SK.Text("PremiumCardsPanel_Auto_Trading", "Auto Trading"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold),
         Color = ARGBColors.Goldenrod
     };
     this.AvailablePanelContent.addControl(label6);
     CustomSelfDrawPanel.CSDLabel label7 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(110, ((label6.Y + label6.Height) + 4) - 11),
         Size = new Size(590, 50),
         Text = SK.Text("PremiumCardsPanel_Auto_Trading_Info", "This allows the trade one type of good to the parish capitals market automatically while you are logged out.") + " (" + SK.Text("PremiumCardsPanel_Auto_Extra", "Activates once every 2 to 4 hours.") + ")",
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.White
     };
     this.AvailablePanelContent.addControl(label7);
     CustomSelfDrawPanel.CSDImage image7 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.premiumIcons[2],
         Position = new Point(4, ((label6.Y + label6.Height) + 4) - 10)
     };
     this.AvailablePanelContent.addControl(image7);
     CustomSelfDrawPanel.CSDLabel label8 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, (label7.Y + label7.Height) + 4),
         Size = new Size(600, 30),
         Text = SK.Text("PremiumCardsPanel_Auto_Scouting", "Auto Scouting"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold),
         Color = ARGBColors.Goldenrod
     };
     this.AvailablePanelContent.addControl(label8);
     CustomSelfDrawPanel.CSDLabel label9 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(110, ((label8.Y + label8.Height) + 4) - 11),
         Size = new Size(590, 50),
         Text = SK.Text("PremiumCardsPanel_Auto_Scouting_Info", "This will send out all available scouts to stashes within the parish the village is located, automatically while you are logged out.") + " (" + SK.Text("PremiumCardsPanel_Auto_Extra", "Activates once every 2 to 4 hours.") + ")",
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.White
     };
     this.AvailablePanelContent.addControl(label9);
     CustomSelfDrawPanel.CSDImage image8 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.premiumIcons[3],
         Position = new Point(4, ((label8.Y + label8.Height) + 4) - 10)
     };
     this.AvailablePanelContent.addControl(image8);
     CustomSelfDrawPanel.CSDLabel label10 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, (label9.Y + label9.Height) + 4),
         Size = new Size(600, 30),
         Text = SK.Text("PremiumCardsPanel_Auto_Attacking", "Auto Attacking"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold),
         Color = ARGBColors.Goldenrod
     };
     this.AvailablePanelContent.addControl(label10);
     CustomSelfDrawPanel.CSDLabel label11 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(110, ((label10.Y + label10.Height) + 4) - 11),
         Size = new Size(590, 50),
         Text = SK.Text("PremiumCardsPanel_Auto_Attacking_Info", "This will send out attacks to chosen targets automatically while you are logged out.") + " (" + SK.Text("PremiumCardsPanel_Auto_Extra", "Activates once every 2 to 4 hours.") + ")",
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.White
     };
     this.AvailablePanelContent.addControl(label11);
     CustomSelfDrawPanel.CSDImage image9 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.premiumIcons[4],
         Position = new Point(4, ((label10.Y + label10.Height) + 4) - 10)
     };
     this.AvailablePanelContent.addControl(image9);
     CustomSelfDrawPanel.CSDLabel label12 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, (label11.Y + label11.Height) + 4),
         Size = new Size(600, 30),
         Text = SK.Text("PremiumCardsPanel_Auto_Recruit", "Auto Recruit"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold),
         Color = ARGBColors.Goldenrod
     };
     this.AvailablePanelContent.addControl(label12);
     CustomSelfDrawPanel.CSDLabel label13 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(110, ((label12.Y + label12.Height) + 4) - 11),
         Size = new Size(590, 50),
         Text = SK.Text("PremiumCardsPanel_Auto_Recruit_Info", "This will automatically conscript idle peasants to your army.") + " (" + SK.Text("PremiumCardsPanel_Auto_Extra", "Activates once every 2 to 4 hours.") + ")",
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.White
     };
     this.AvailablePanelContent.addControl(label13);
     CustomSelfDrawPanel.CSDImage image10 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.premiumIcons[5],
         Position = new Point(4, ((label12.Y + label12.Height) + 4) - 10)
     };
     this.AvailablePanelContent.addControl(image10);
     CustomSelfDrawPanel.CSDLabel label14 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, (label13.Y + label13.Height) + 4),
         Size = new Size(600, 30),
         Text = SK.Text("PremiumCardsPanel_Village_Overview", "Village Overview"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold),
         Color = ARGBColors.Goldenrod
     };
     this.AvailablePanelContent.addControl(label14);
     CustomSelfDrawPanel.CSDLabel label15 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(110, ((label14.Y + label14.Height) + 4) - 11),
         Size = new Size(590, 50),
         Text = SK.Text("PremiumCardsPanel_Village_Overview_Info", "This allows players to keep track of essential information on all their villages, such as income from taxes, housing capacity, popularity and more."),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.White
     };
     this.AvailablePanelContent.addControl(label15);
     CustomSelfDrawPanel.CSDImage image11 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.premiumIcons[6],
         Position = new Point(4, ((label14.Y + label14.Height) + 4) - 10)
     };
     this.AvailablePanelContent.addControl(image11);
     CustomSelfDrawPanel.CSDLabel label16 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, (label15.Y + label15.Height) + 4),
         Size = new Size(600, 30),
         Text = SK.Text("PremiumCardsPanel_Vacation_Mode", "Vacation Mode"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold),
         Color = ARGBColors.Goldenrod
     };
     this.AvailablePanelContent.addControl(label16);
     CustomSelfDrawPanel.CSDLabel label17 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(110, ((label16.Y + label16.Height) + 4) - 11),
         Size = new Size(590, 50),
         Text = SK.Text("PremiumCardsPanel_Vacation_Mode_Info", "This allows players to protect their villages from attack for up to 15 days."),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.White
     };
     this.AvailablePanelContent.addControl(label17);
     CustomSelfDrawPanel.CSDImage image12 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.premiumIcons[7],
         Position = new Point(4, ((label16.Y + label16.Height) + 4) - 10)
     };
     this.AvailablePanelContent.addControl(image12);
     CustomSelfDrawPanel.CSDLabel label18 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(0, (label17.Y + label17.Height) + 4),
         Size = new Size(600, 30),
         Text = SK.Text("PremiumCardsPanel_AdvancedTrading", "Advanced Trading Option"),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT,
         Font = FontManager.GetFont("Arial", 12f, FontStyle.Bold),
         Color = ARGBColors.Goldenrod
     };
     this.AvailablePanelContent.addControl(label18);
     CustomSelfDrawPanel.CSDLabel label19 = new CustomSelfDrawPanel.CSDLabel {
         Position = new Point(110, ((label18.Y + label18.Height) + 4) - 11),
         Size = new Size(590, 50),
         Text = SK.Text("PremiumCardsPanel_AdvancedTrading_Info", "This allows players to find the best prices for goods in nearby Markets."),
         Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT,
         Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular),
         Color = ARGBColors.White
     };
     this.AvailablePanelContent.addControl(label19);
     CustomSelfDrawPanel.CSDImage image13 = new CustomSelfDrawPanel.CSDImage {
         Image = (Image) GFXLibrary.premiumIcons[8],
         Position = new Point(4, ((label18.Y + label18.Height) + 4) - 10)
     };
     this.AvailablePanelContent.addControl(image13);
     int height = (label19.Y + label19.Height) + 6;
     this.AvailablePanelContent.Position = new Point(BorderPadding, BorderPadding);
     this.AvailablePanelContent.Size = new Size(this.AvailablePanel.Width, height);
     this.AvailablePanelContent.ClipRect = new Rectangle(0, 0, this.AvailablePanel.Width - BorderPadding, this.AvailablePanel.Height - (BorderPadding * 2));
     this.AvailablePanel.addControl(this.AvailablePanelContent);
     if (height < this.AvailablePanelContent.ClipRect.Height)
     {
         height = this.AvailablePanelContent.ClipRect.Height;
     }
     this.scrollbarAvailable.Position = new Point((this.AvailablePanel.Width - BorderPadding) - (BorderPadding / 2), this.AvailablePanel.Y + (BorderPadding / 2));
     this.scrollbarAvailable.Size = new Size(BorderPadding, this.AvailablePanel.Height - BorderPadding);
     this.mainBackgroundImage.addControl(this.scrollbarAvailable);
     this.scrollbarAvailable.Value = 0;
     this.scrollbarAvailable.StepSize = 200;
     this.scrollbarAvailable.Max = this.AvailablePanelContent.Height - this.AvailablePanelContent.ClipRect.Height;
     this.scrollbarAvailable.NumVisibleLines = this.AvailablePanelContent.ClipRect.Height;
     this.scrollbarAvailable.OffsetTL = new Point(1, 5);
     this.scrollbarAvailable.OffsetBR = new Point(0, -10);
     this.scrollbarAvailable.setValueChangeDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ValueChangedDelegate(this.AvailableContentScroll));
     this.scrollbarAvailable.Create(null, null, null, (Image) GFXLibrary.cardpanel_scroll_thumb_top, (Image) GFXLibrary.cardpanel_scroll_thumb_mid, (Image) GFXLibrary.cardpanel_scroll_thumb_botom);
     if (height <= this.AvailablePanelContent.ClipRect.Height)
     {
         this.scrollbarAvailable.Visible = false;
     }
     this.expiryLabel = new CustomSelfDrawPanel.CSDLabel();
     if (this.TimerInner != null)
     {
         this.ExpiryBar = new CustomSelfDrawPanel.CSDHorzProgressBar();
         this.ExpiryBar.Size = new Size(170, 0);
         this.ExpiryBar.Position = new Point(this.PremiumInplayImage.X - 13, this.PremiumInplayImage.Y + this.PremiumInplayImage.Height);
         this.ExpiryBar.Create((Image) GFXLibrary.cardpanel_prem_timer_back_left, (Image) GFXLibrary.cardpanel_prem_timer_back_mid, (Image) GFXLibrary.cardpanel_prem_timer_back_right, (Image) GFXLibrary.cardpanel_prem_timer_fill_left, (Image) GFXLibrary.cardpanel_prem_timer_fill_mid, (Image) GFXLibrary.cardpanel_prem_timer_fill_right);
         this.ExpiryBar.setValues(this.currentExpirySeconds, this.maxExpirySeconds);
         this.mainBackgroundImage.addControl(this.ExpiryBar);
         this.expiryLabel.Position = new Point(this.ExpiryBar.X, this.ExpiryBar.Y + this.ExpiryBar.Height);
         this.expiryLabel.Size = new Size(this.ExpiryBar.Width, 0x10);
     }
     else
     {
         this.expiryLabel.Position = new Point(this.PremiumInplayImage.X - 13, this.PremiumInplayImage.Y + this.PremiumInplayImage.Height);
         this.expiryLabel.Size = new Size(170, 0x10);
     }
     this.expiryLabel.Visible = false;
     this.expiryLabel.Text = Math.Floor(this.expiryDays).ToString().PadLeft(2, '0') + ":" + Math.Floor(this.expiryHours).ToString().PadLeft(2, '0') + ":" + Math.Floor(this.expiryMinutes).ToString().PadLeft(2, '0') + " (" + SK.Text("PremiumCardsPanel_Day_Hour_Minute", "dd:hh:mm") + ")";
     this.expiryLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_CENTER;
     this.expiryLabel.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular);
     this.expiryLabel.Color = ARGBColors.Black;
     this.mainBackgroundImage.addControl(this.expiryLabel);
     this.UpdatePremiumTokens();
     this.UpdateExpiry();
 }