private void initText(int position, int villageID, int numPeasants, int numArchers, int numPikemen, int numSwordsmen, int numCatapults, int numScouts, DateTime arrivalTime, long armyID, bool showButton, VillageArmiesPanel2 parent, bool returning, bool showTroops, bool tutorial, int attackType)
 {
     this.m_parent      = parent;
     this.m_position    = position;
     this.ClipVisible   = true;
     this.m_army        = GameEngine.Instance.World.getArmy(armyID);
     this.m_origLoot    = this.m_army.lootType;
     this.m_armyID      = armyID;
     this.m_villageID   = villageID;
     this.m_arrivalTime = arrivalTime;
     this.m_returning   = returning;
     this.clearControls();
     if ((position & 1) == 0)
     {
         this.backgroundImage.Image = (Image)GFXLibrary.brown_lineitem_strip_02_light;
     }
     else
     {
         this.backgroundImage.Image = (Image)GFXLibrary.brown_lineitem_strip_02_dark;
     }
     this.backgroundImage.Position = new Point(0, 0);
     base.addControl(this.backgroundImage);
     this.Size = this.backgroundImage.Size;
     if (!tutorial)
     {
         this.lblVillage.Text = GameEngine.Instance.World.getVillageNameOrType(villageID);
     }
     else
     {
         this.lblVillage.Text = SK.Text("GENERIC_TUTORIAL", "Tutorial");
     }
     this.lblVillage.Color         = ARGBColors.Black;
     this.lblVillage.RolloverColor = ARGBColors.White;
     this.lblVillage.Position      = new Point(9, 0);
     this.lblVillage.Size          = new Size(0xdf, this.backgroundImage.Height);
     this.lblVillage.Font          = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
     this.lblVillage.Alignment     = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
     this.lblVillage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.lblVillage_Click), "VillageArmiesPanel2_village");
     this.backgroundImage.addControl(this.lblVillage);
     this.lblReturning.Text      = SK.Text("VillageArmySentLine_Returning", "Returning");
     this.lblReturning.Color     = ARGBColors.Black;
     this.lblReturning.Position  = new Point(0x335, 0);
     this.lblReturning.Size      = new Size(110, this.backgroundImage.Height);
     this.lblReturning.Font      = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
     this.lblReturning.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
     this.backgroundImage.addControl(this.lblReturning);
     this.lblReturning.Visible = !showButton;
     if (!showButton)
     {
         if (this.m_returning)
         {
             this.lblReturning.Text = SK.Text("VillageArmySentLine_Returning", "Returning");
         }
         else
         {
             this.lblReturning.Text = SK.Text("GENERIC_Attacking", "Attacking");
         }
     }
     this.leftVillageID            = villageID;
     this.lblArrivalTime.Text      = "";
     this.lblArrivalTime.Color     = ARGBColors.Black;
     this.lblArrivalTime.Position  = new Point(0x2ab, 0);
     this.lblArrivalTime.Size      = new Size(0x72, this.backgroundImage.Height);
     this.lblArrivalTime.Font      = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
     this.lblArrivalTime.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
     this.backgroundImage.addControl(this.lblArrivalTime);
     if (showTroops)
     {
         this.lblPeasants.Text      = numPeasants.ToString();
         this.lblPeasants.Color     = ARGBColors.Black;
         this.lblPeasants.Position  = new Point(0x131, 0);
         this.lblPeasants.Size      = new Size(0x37, this.backgroundImage.Height);
         this.lblPeasants.Font      = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
         this.lblPeasants.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.backgroundImage.addControl(this.lblPeasants);
         this.lblArchers.Text      = numArchers.ToString();
         this.lblArchers.Color     = ARGBColors.Black;
         this.lblArchers.Position  = new Point(0x16d, 0);
         this.lblArchers.Size      = new Size(0x37, this.backgroundImage.Height);
         this.lblArchers.Font      = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
         this.lblArchers.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.backgroundImage.addControl(this.lblArchers);
         this.lblPikemen.Text      = numPikemen.ToString();
         this.lblPikemen.Color     = ARGBColors.Black;
         this.lblPikemen.Position  = new Point(0x1a9, 0);
         this.lblPikemen.Size      = new Size(0x37, this.backgroundImage.Height);
         this.lblPikemen.Font      = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
         this.lblPikemen.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.backgroundImage.addControl(this.lblPikemen);
         this.lblSwordsmen.Text      = numSwordsmen.ToString();
         this.lblSwordsmen.Color     = ARGBColors.Black;
         this.lblSwordsmen.Position  = new Point(0x1e5, 0);
         this.lblSwordsmen.Size      = new Size(0x37, this.backgroundImage.Height);
         this.lblSwordsmen.Font      = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
         this.lblSwordsmen.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.backgroundImage.addControl(this.lblSwordsmen);
         this.lblCatapults.Text      = numCatapults.ToString();
         this.lblCatapults.Color     = ARGBColors.Black;
         this.lblCatapults.Position  = new Point(0x221, 0);
         this.lblCatapults.Size      = new Size(0x37, this.backgroundImage.Height);
         this.lblCatapults.Font      = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
         this.lblCatapults.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.backgroundImage.addControl(this.lblCatapults);
         this.lblScouts.Text      = numScouts.ToString();
         this.lblScouts.Color     = ARGBColors.Black;
         this.lblScouts.Position  = new Point(0x25d, 0);
         this.lblScouts.Size      = new Size(0x37, this.backgroundImage.Height);
         this.lblScouts.Font      = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
         this.lblScouts.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.backgroundImage.addControl(this.lblScouts);
     }
     if (attackType == 30)
     {
         this.lblPeasants.Text      = SK.Text("AllArmiesSentLine_Vassal_Support", "Vassal Support");
         this.lblPeasants.Color     = ARGBColors.Black;
         this.lblPeasants.Position  = new Point(0x131, 0);
         this.lblPeasants.Size      = new Size(250, this.backgroundImage.Height);
         this.lblPeasants.Font      = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
         this.lblPeasants.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
         this.backgroundImage.addControl(this.lblPeasants);
     }
     if (attackType == 0x1f)
     {
         this.lblPeasants.Text      = SK.Text("AllArmiesSentLine_Capital_Support", "Capital Support");
         this.lblPeasants.Color     = ARGBColors.Black;
         this.lblPeasants.Position  = new Point(0x131, 0);
         this.lblPeasants.Size      = new Size(250, this.backgroundImage.Height);
         this.lblPeasants.Font      = FontManager.GetFont("Arial", 8.25f, FontStyle.Regular);
         this.lblPeasants.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
         this.backgroundImage.addControl(this.lblPeasants);
     }
     if (showButton)
     {
         this.btnCancel.ImageNorm      = (Image)GFXLibrary.brown_mail2_button_blue_141wide_normal;
         this.btnCancel.ImageOver      = (Image)GFXLibrary.brown_mail2_button_blue_141wide_over;
         this.btnCancel.ImageClick     = (Image)GFXLibrary.brown_mail2_button_blue_141wide_pushed;
         this.btnCancel.Position       = new Point(760, 3);
         this.btnCancel.Text.Text      = SK.Text("GENERIC_Cancel", "Cancel");
         this.btnCancel.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
         this.btnCancel.Text.Font      = FontManager.GetFont("Arial", 9f, FontStyle.Bold);
         this.btnCancel.TextYOffset    = -3;
         this.btnCancel.Text.Color     = ARGBColors.Black;
         this.btnCancel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.cancelClick), "VillageArmiesPanel2_cancel");
         this.backgroundImage.addControl(this.btnCancel);
     }
     if (!this.update(DXTimer.GetCurrentMilliseconds() / 1000.0))
     {
         this.btnCancel.Visible = false;
     }
     base.invalidate();
 }
 public void initIncoming(int position, int villageID, int numPeasants, int numArchers, int numPikemen, int numSwordsmen, int numCatapults, int numScouts, DateTime arrivalTime, long armyID, bool showButton, VillageArmiesPanel2 parent, bool returning, bool tutorial, int attackType)
 {
     this.initText(position, villageID, numPeasants, numArchers, numPikemen, numSwordsmen, numCatapults, numScouts, arrivalTime, armyID, showButton, parent, returning, false, tutorial, attackType);
 }
 public void initSent(int position, int villageID, int numPeasants, int numArchers, int numPikemen, int numSwordsmen, int numCatapults, int numScouts, DateTime arrivalTime, long armyID, bool showButton, VillageArmiesPanel2 parent, bool returning)
 {
     this.initText(position, villageID, numPeasants, numArchers, numPikemen, numSwordsmen, numCatapults, numScouts, arrivalTime, armyID, showButton, parent, returning, true, false, 0);
 }
        public void init(bool resized)
        {
            int height = base.Height;

            instance = this;
            base.clearControls();
            this.backgroundImage.Image    = (Image)GFXLibrary.body_background_002;
            this.backgroundImage.Size     = new Size(base.Width, height - 40);
            this.backgroundImage.Tile     = true;
            this.backgroundImage.Position = new Point(0, 40);
            base.addControl(this.backgroundImage);
            this.backgroundLeftEdge.Image    = (Image)GFXLibrary.body_background_canvas_left_edge;
            this.backgroundLeftEdge.Position = new Point(0, 0);
            this.backgroundLeftEdge.Size     = new Size(this.backgroundLeftEdge.Image.Width, height - 40);
            this.backgroundLeftEdge.Tile     = true;
            this.backgroundImage.addControl(this.backgroundLeftEdge);
            this.headerImage.Size     = new Size(base.Width, 40);
            this.headerImage.Position = new Point(0, 0);
            base.addControl(this.headerImage);
            this.headerImage.CreateX((Image)GFXLibrary.mail_top_drag_bar_left, (Image)GFXLibrary.mail_top_drag_bar_middle, (Image)GFXLibrary.mail_top_drag_bar_right, -2, 2);
            int villageID = InterfaceMgr.Instance.getSelectedMenuVillage();

            this.parishNameLabel.Text            = SK.Text("AllArmiesPanel_Attacks", "Attacks") + " : " + GameEngine.Instance.World.getVillageNameOrType(villageID);
            this.parishNameLabel.Color           = ARGBColors.White;
            this.parishNameLabel.DropShadowColor = ARGBColors.Black;
            this.parishNameLabel.Position        = new Point(20, 0);
            this.parishNameLabel.Size            = new Size(base.Width - 40, 40);
            this.parishNameLabel.Font            = FontManager.GetFont("Arial", 18f, FontStyle.Regular);
            this.parishNameLabel.Alignment       = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
            this.headerImage.addControl(this.parishNameLabel);
            this.blockYSize                 = ((height - 40) - 0x38) / 2;
            this.headerLabelsImage.Size     = new Size((base.Width - 0x19) - 0x17, 0x1c);
            this.headerLabelsImage.Position = new Point(0x19, 5);
            this.backgroundImage.addControl(this.headerLabelsImage);
            this.headerLabelsImage.Create((Image)GFXLibrary.brown_mail2_field_bar_mail_left, (Image)GFXLibrary.brown_mail2_field_bar_mail_middle, (Image)GFXLibrary.brown_mail2_field_bar_mail_right);
            this.divider2Image.Image    = (Image)GFXLibrary.brown_mail2_field_bar_mail_divider;
            this.divider2Image.Position = new Point(300, 0);
            this.headerLabelsImage.addControl(this.divider2Image);
            this.divider3Image.Image    = (Image)GFXLibrary.brown_mail2_field_bar_mail_divider;
            this.divider3Image.Position = new Point(0x2a6, 0);
            this.headerLabelsImage.addControl(this.divider3Image);
            this.outGoingAttacksLabel.Text      = SK.Text("VillageArmiesPanel_Target_Village", "Target Village");
            this.outGoingAttacksLabel.Color     = ARGBColors.Black;
            this.outGoingAttacksLabel.Position  = new Point(12, -2);
            this.outGoingAttacksLabel.Size      = new Size(0xdf, this.headerLabelsImage.Height);
            this.outGoingAttacksLabel.Font      = FontManager.GetFont("Arial", 9f, FontStyle.Regular);
            this.outGoingAttacksLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
            this.headerLabelsImage.addControl(this.outGoingAttacksLabel);
            this.outGoingArrivesLabel.Text      = SK.Text("AllArmiesPanel_Arrives", "Arrives");
            this.outGoingArrivesLabel.Color     = ARGBColors.Black;
            this.outGoingArrivesLabel.Position  = new Point(0x2ab, -2);
            this.outGoingArrivesLabel.Size      = new Size(0x72, this.headerLabelsImage.Height);
            this.outGoingArrivesLabel.Font      = FontManager.GetFont("Arial", 9f, FontStyle.Regular);
            this.outGoingArrivesLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
            this.headerLabelsImage.addControl(this.outGoingArrivesLabel);
            this.headerLabelsImage2.Size     = new Size((base.Width - 0x19) - 0x17, 0x1c);
            this.headerLabelsImage2.Position = new Point(0x19, this.blockYSize + 5);
            this.backgroundImage.addControl(this.headerLabelsImage2);
            this.headerLabelsImage2.Create((Image)GFXLibrary.brown_mail2_field_bar_mail_left, (Image)GFXLibrary.brown_mail2_field_bar_mail_middle, (Image)GFXLibrary.brown_mail2_field_bar_mail_right);
            this.divider5Image.Image    = (Image)GFXLibrary.brown_mail2_field_bar_mail_divider;
            this.divider5Image.Position = new Point(300, 0);
            this.headerLabelsImage2.addControl(this.divider5Image);
            this.divider6Image.Image    = (Image)GFXLibrary.brown_mail2_field_bar_mail_divider;
            this.divider6Image.Position = new Point(0x2a6, 0);
            this.headerLabelsImage2.addControl(this.divider6Image);
            this.incomingAttacksLabel.Text      = SK.Text("VillageArmiesPanel_From", "From") + ":";
            this.incomingAttacksLabel.Color     = ARGBColors.Black;
            this.incomingAttacksLabel.Position  = new Point(12, -2);
            this.incomingAttacksLabel.Size      = new Size(0xe0, this.headerLabelsImage.Height);
            this.incomingAttacksLabel.Font      = FontManager.GetFont("Arial", 9f, FontStyle.Regular);
            this.incomingAttacksLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
            this.headerLabelsImage2.addControl(this.incomingAttacksLabel);
            this.incomingArrivesLabel.Text      = SK.Text("AllArmiesPanel_Arrives", "Arrives");
            this.incomingArrivesLabel.Color     = ARGBColors.Black;
            this.incomingArrivesLabel.Position  = new Point(0x2ab, -2);
            this.incomingArrivesLabel.Size      = new Size(0x72, this.headerLabelsImage.Height);
            this.incomingArrivesLabel.Font      = FontManager.GetFont("Arial", 9f, FontStyle.Regular);
            this.incomingArrivesLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT;
            this.headerLabelsImage2.addControl(this.incomingArrivesLabel);
            this.outgoingScrollArea.Position = new Point(0x19, 40);
            this.outgoingScrollArea.Size     = new Size(0x393, (this.blockYSize - 40) - 10);
            this.outgoingScrollArea.ClipRect = new Rectangle(new Point(0, 0), new Size(0x393, (this.blockYSize - 40) - 10));
            this.backgroundImage.addControl(this.outgoingScrollArea);
            int num3 = this.outgoingScrollBar.Value;

            this.outgoingScrollBar.Position = new Point(0x3af, 40);
            this.outgoingScrollBar.Size     = new Size(0x18, (this.blockYSize - 40) - 10);
            this.backgroundImage.addControl(this.outgoingScrollBar);
            this.outgoingScrollBar.Value           = 0;
            this.outgoingScrollBar.Max             = 100;
            this.outgoingScrollBar.NumVisibleLines = 0x19;
            this.outgoingScrollBar.Create(null, null, null, (Image)GFXLibrary.brown_24wide_thumb_top, (Image)GFXLibrary.brown_24wide_thumb_middle, (Image)GFXLibrary.brown_24wide_thumb_bottom);
            this.outgoingScrollBar.setValueChangeDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ValueChangedDelegate(this.wallScrollBarMoved));
            this.incomingScrollArea.Position = new Point(0x19, (0x23 + this.blockYSize) + 5);
            this.incomingScrollArea.Size     = new Size(0x393, (this.blockYSize - 40) - 10);
            this.incomingScrollArea.ClipRect = new Rectangle(new Point(0, 0), new Size(0x393, (this.blockYSize - 40) - 10));
            this.backgroundImage.addControl(this.incomingScrollArea);
            int num4 = this.incomingScrollBar.Value;

            this.incomingScrollBar.Position = new Point(0x3af, (0x23 + this.blockYSize) + 5);
            this.incomingScrollBar.Size     = new Size(0x18, (this.blockYSize - 40) - 10);
            this.backgroundImage.addControl(this.incomingScrollBar);
            this.incomingScrollBar.Value           = 0;
            this.incomingScrollBar.Max             = 100;
            this.incomingScrollBar.NumVisibleLines = 0x19;
            this.incomingScrollBar.Create(null, null, null, (Image)GFXLibrary.brown_24wide_thumb_top, (Image)GFXLibrary.brown_24wide_thumb_middle, (Image)GFXLibrary.brown_24wide_thumb_bottom);
            this.incomingScrollBar.setValueChangeDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ValueChangedDelegate(this.incomingWallScrollBarMoved));
            this.smallPeasantImage.Image    = (Image)GFXLibrary.armies_screen_troops;
            this.smallPeasantImage.Position = new Point(0x143, -10);
            this.headerLabelsImage.addControl(this.smallPeasantImage);
            if (!resized)
            {
                SparseArray array = GameEngine.Instance.World.getArmyArray();
                this.armyList.Clear();
                foreach (WorldMap.LocalArmyData data in array)
                {
                    this.armyList.Add(data);
                }
                this.armyList.Sort(this.armyComparer);
            }
            this.addArmies();
            if (resized)
            {
                this.outgoingScrollBar.Value = num3;
                this.incomingScrollBar.Value = num4;
            }
            this.btnClose.ImageNorm      = (Image)GFXLibrary.brown_misc_button_blue_210wide_normal;
            this.btnClose.ImageOver      = (Image)GFXLibrary.brown_misc_button_blue_210wide_over;
            this.btnClose.ImageClick     = (Image)GFXLibrary.brown_misc_button_blue_210wide_pushed;
            this.btnClose.Position       = new Point(base.Width - 230, ((height - 40) - 40) - 4);
            this.btnClose.Text.Text      = SK.Text("GENERIC_Close", "Close");
            this.btnClose.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER;
            this.btnClose.Text.Font      = FontManager.GetFont("Arial", 9f, FontStyle.Bold);
            this.btnClose.TextYOffset    = -3;
            this.btnClose.Text.Color     = ARGBColors.Black;
            this.btnClose.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.closeClick), "VillageArmiesPanel2_close");
            this.backgroundImage.addControl(this.btnClose);
        }