public void init(FactionMemberData factionData, int position, FactionMyFactionPanel parent, bool ownFaction) { this.m_parent = parent; this.m_position = position; this.m_factionMemberData = factionData; this.clearControls(); if ((position & 1) == 0) { this.backgroundImage.Image = (Image) GFXLibrary.lineitem_strip_02_light; } else { this.backgroundImage.Image = (Image) GFXLibrary.lineitem_strip_02_dark; } this.backgroundImage.Position = new Point(0, 0); base.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); base.addControl(this.backgroundImage); this.Size = this.backgroundImage.Size; NumberFormatInfo nFI = GameEngine.NFI; if ((factionData.status == 1) || (factionData.status == 2)) { if (factionData.status == 1) { this.officerImage.Image = (Image) GFXLibrary.faction_leaders[1]; this.officerImage.CustomTooltipID = 0x901; } else { this.officerImage.Image = (Image) GFXLibrary.faction_leaders[0]; this.officerImage.CustomTooltipID = 0x902; } this.officerImage.Position = new Point(9, 2); this.officerImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.officerImage); } this.playerName.Text = factionData.userName; if (factionData.status != -1) { this.playerName.Color = ARGBColors.Black; } else { this.playerName.Color = ARGBColors.DarkRed; } this.playerName.Position = new Point(0x45, 0); this.playerName.Size = new Size(250, this.backgroundImage.Height); this.playerName.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.playerName.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT; this.playerName.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.playerName); if (factionData.status != -1) { this.pointsLabel.Text = factionData.totalPoints.ToString("N", nFI); this.pointsLabel.Color = ARGBColors.Black; this.pointsLabel.Position = new Point(300, 0); this.pointsLabel.Size = new Size(0x55, this.backgroundImage.Height); this.pointsLabel.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.pointsLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_RIGHT; this.pointsLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.pointsLabel); this.rankName.Text = Rankings.getRankingName(factionData.rank, factionData.male); this.rankName.Color = ARGBColors.Black; this.rankName.Position = new Point(450, 0); this.rankName.Size = new Size(150, this.backgroundImage.Height); this.rankName.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.rankName.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT; this.rankName.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.rankName); this.villageLabel.Text = factionData.numVillages.ToString("N", nFI); this.villageLabel.Color = ARGBColors.Black; this.villageLabel.Position = new Point(620, 0); this.villageLabel.Size = new Size(0x37, this.backgroundImage.Height); this.villageLabel.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.villageLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_RIGHT; this.villageLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.villageLabel); if (factionData.online) { this.onlineImage.Image = (Image) GFXLibrary.radio_green[0]; this.onlineImage.Position = new Point(280, 5); this.backgroundImage.addControl(this.onlineImage); } } else { this.pointsLabel.Text = SK.Text("FactionsInvites_Invite_Pending", "Invitation Pending"); this.pointsLabel.Color = ARGBColors.DarkRed; this.pointsLabel.Position = new Point(300, 0); this.pointsLabel.Size = new Size(500, this.backgroundImage.Height); this.pointsLabel.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.pointsLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT; this.pointsLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.pointsLabel); switch (GameEngine.Instance.World.getYourFactionRank()) { case 1: case 2: this.declineButton.ImageNorm = (Image) GFXLibrary.mail2_button_blue_141wide_normal; this.declineButton.ImageOver = (Image) GFXLibrary.mail2_button_blue_141wide_over; this.declineButton.ImageClick = (Image) GFXLibrary.mail2_button_blue_141wide_pushed; this.declineButton.Position = new Point(560, 0); this.declineButton.Text.Text = SK.Text("FactionMemberLine_Cancel_Invite", "Cancel Invite"); this.declineButton.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.declineButton.Text.Font = FontManager.GetFont("Arial", 9f, FontStyle.Bold); this.declineButton.TextYOffset = -3; this.declineButton.Text.Color = ARGBColors.Black; this.declineButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.declineClicked), "FactionMyFactionPanel_declined_clicked"); this.backgroundImage.addControl(this.declineButton); break; } } this.shieldImage.Image = GameEngine.Instance.World.getWorldShield(factionData.userID, 0x19, 0x1c); if (this.shieldImage.Image != null) { this.shieldImage.Position = new Point(0x27, 1); this.shieldImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.shieldImage.setRightClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.shieldImage); } base.invalidate(); }
public void init(bool resized) { int height = base.Height; instance = this; base.clearControls(); NumberFormatInfo nFI = GameEngine.NFI; this.sidebar.addSideBar(1, this); FactionData data = GameEngine.Instance.World.getFaction(m_selectedFaction); if (data == null) { data = new FactionData(); } this.greyOverlay.Size = base.Size; this.mainBackgroundImage.FillColor = Color.FromArgb(0x86, 0x99, 0xa5); this.mainBackgroundImage.Position = new Point(0, 0); this.mainBackgroundImage.Size = new Size(base.Width - 200, height); base.addControl(this.mainBackgroundImage); this.backgroundFade.Image = (Image) GFXLibrary.background_top; this.backgroundFade.Position = new Point(0, 0); this.backgroundFade.Size = new Size(base.Width - 200, this.backgroundFade.Image.Height); this.mainBackgroundImage.addControl(this.backgroundFade); this.backImage1.Image = (Image) GFXLibrary.faction_tanback; this.backImage1.Position = new Point((this.mainBackgroundImage.Size.Width - this.backImage1.Size.Width) - 0x19, 12); this.mainBackgroundImage.addControl(this.backImage1); this.backImage2.Image = (Image) GFXLibrary.faction_title_band; this.backImage2.Position = new Point(20, 20); this.mainBackgroundImage.addControl(this.backImage2); this.barImage1.Image = (Image) GFXLibrary.faction_bar_tan_1_heavier; this.barImage1.Position = new Point(0x114, 70); this.mainBackgroundImage.addControl(this.barImage1); this.barImage2.Image = (Image) GFXLibrary.faction_bar_tan_1_lighter; this.barImage2.Position = new Point(0x114, 0x5e); this.mainBackgroundImage.addControl(this.barImage2); this.barImage3.Image = (Image) GFXLibrary.faction_bar_tan_1_heavier; this.barImage3.Position = new Point(0x114, 0x76); this.mainBackgroundImage.addControl(this.barImage3); this.factionNameLabel.Text = data.factionName; this.factionNameLabel.Color = ARGBColors.Black; this.factionNameLabel.Position = new Point(0xcd, 10); this.factionNameLabel.Size = new Size(600, 40); this.factionNameLabel.Font = FontManager.GetFont("Arial", 20f, FontStyle.Regular); this.factionNameLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT; this.mainBackgroundImage.addControl(this.factionNameLabel); this.factionMottoLabel.Text = "\"" + data.factionMotto + "\""; this.factionMottoLabel.Color = ARGBColors.Black; this.factionMottoLabel.Position = new Point(0xcd, 0x29); this.factionMottoLabel.Size = new Size(600, 40); this.factionMottoLabel.Font = FontManager.GetFont("Arial", 12f, FontStyle.Regular); this.factionMottoLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT; this.mainBackgroundImage.addControl(this.factionMottoLabel); if (data.houseID > 0) { this.houseLabel.Text = SK.Text("STATS_CATEGORY_TITLE_HOUSE", "House") + " " + data.houseID.ToString(); this.houseLabel.Color = ARGBColors.Black; this.houseLabel.Position = new Point(0x23f, 110); this.houseLabel.Size = new Size(200, 50); this.houseLabel.Font = FontManager.GetFont("Arial", 12f, FontStyle.Regular); this.houseLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.houseLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.houseClicked), "FactionMyFactionPanel_house"); this.mainBackgroundImage.addControl(this.houseLabel); this.houseImage.Image = (Image) GFXLibrary.house_circles_large[data.houseID - 1]; this.houseImage.Position = new Point(0x2a3 - (this.houseImage.Image.Width / 2), (0x41 - (this.houseImage.Image.Height / 2)) + 8); this.houseImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.houseClicked), "FactionMyFactionPanel_house"); this.mainBackgroundImage.addControl(this.houseImage); } this.membersLabel.Text = SK.Text("FactionInvites_Members", "Members"); this.membersLabel.Color = ARGBColors.Black; this.membersLabel.Position = new Point(0x11c, 0x49); this.membersLabel.Size = new Size(600, 40); this.membersLabel.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular); this.membersLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT; this.mainBackgroundImage.addControl(this.membersLabel); this.membersLabelValue.Text = data.numMembers.ToString(); this.membersLabelValue.Color = ARGBColors.Black; this.membersLabelValue.Position = new Point(30, 0x49); this.membersLabelValue.Size = new Size(0x1e2, 40); this.membersLabelValue.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular); this.membersLabelValue.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_RIGHT; this.mainBackgroundImage.addControl(this.membersLabelValue); this.rankHeaderLabel.Text = SK.Text("STATS_CATEGORY_TITLE_RANK", "Rank"); this.rankHeaderLabel.Color = ARGBColors.Black; this.rankHeaderLabel.Position = new Point(0x11c, 0x79); this.rankHeaderLabel.Size = new Size(600, 40); this.rankHeaderLabel.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular); this.rankHeaderLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT; this.mainBackgroundImage.addControl(this.rankHeaderLabel); this.rankHeaderLabelValue.Text = (GameEngine.Instance.World.getFactionRank(m_selectedFaction) + 1).ToString("N", nFI); this.rankHeaderLabelValue.Color = ARGBColors.Black; this.rankHeaderLabelValue.Position = new Point(30, 0x79); this.rankHeaderLabelValue.Size = new Size(0x1e2, 40); this.rankHeaderLabelValue.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular); this.rankHeaderLabelValue.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_RIGHT; this.mainBackgroundImage.addControl(this.rankHeaderLabelValue); this.pointsHeaderLabel.Text = SK.Text("FactionsPanel_Points", "Points"); this.pointsHeaderLabel.Color = ARGBColors.Black; this.pointsHeaderLabel.Position = new Point(0x11c, 0x61); this.pointsHeaderLabel.Size = new Size(600, 40); this.pointsHeaderLabel.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular); this.pointsHeaderLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT; this.mainBackgroundImage.addControl(this.pointsHeaderLabel); this.pointsHeaderLabelValue.Text = data.points.ToString("N", nFI); this.pointsHeaderLabelValue.Color = ARGBColors.Black; this.pointsHeaderLabelValue.Position = new Point(30, 0x61); this.pointsHeaderLabelValue.Size = new Size(0x1e2, 40); this.pointsHeaderLabelValue.Font = FontManager.GetFont("Arial", 10f, FontStyle.Regular); this.pointsHeaderLabelValue.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_RIGHT; this.mainBackgroundImage.addControl(this.pointsHeaderLabelValue); this.headerLabelsImage.Size = new Size(((base.Width - 0x19) - 0x17) - 200, 0x1c); this.headerLabelsImage.Position = new Point(0x19, 0x9f); this.mainBackgroundImage.addControl(this.headerLabelsImage); this.headerLabelsImage.Create((Image) GFXLibrary.mail2_field_bar_mail_left, (Image) GFXLibrary.mail2_field_bar_mail_middle, (Image) GFXLibrary.mail2_field_bar_mail_right); this.divider1Image.Image = (Image) GFXLibrary.mail2_field_bar_mail_divider; this.divider1Image.Position = new Point(290, 0); this.headerLabelsImage.addControl(this.divider1Image); this.divider2Image.Image = (Image) GFXLibrary.mail2_field_bar_mail_divider; this.divider2Image.Position = new Point(440, 0); this.headerLabelsImage.addControl(this.divider2Image); this.divider3Image.Image = (Image) GFXLibrary.mail2_field_bar_mail_divider; this.divider3Image.Position = new Point(610, 0); this.headerLabelsImage.addControl(this.divider3Image); this.playerNameLabel.Text = SK.Text("UserInfoPanel_", "Player Name"); this.playerNameLabel.Color = ARGBColors.Black; this.playerNameLabel.Position = new Point(9, -2); this.playerNameLabel.Size = new Size(0x143, this.headerLabelsImage.Height); this.playerNameLabel.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.playerNameLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT; this.headerLabelsImage.addControl(this.playerNameLabel); this.pointsLabel.Text = SK.Text("FactionsPanel_Points", "Points"); this.pointsLabel.Color = ARGBColors.Black; this.pointsLabel.Position = new Point(0x127, -2); this.pointsLabel.Size = new Size(140, this.headerLabelsImage.Height); this.pointsLabel.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.pointsLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.headerLabelsImage.addControl(this.pointsLabel); this.rankLabel.Text = SK.Text("STATS_CATEGORY_TITLE_RANK", "Rank"); this.rankLabel.Color = ARGBColors.Black; this.rankLabel.Position = new Point(0x1bd, -2); this.rankLabel.Size = new Size(0xdf, this.headerLabelsImage.Height); this.rankLabel.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.rankLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT; this.headerLabelsImage.addControl(this.rankLabel); this.villagesLabel.Text = SK.Text("UserInfoPanel_Villages", "Villages"); this.villagesLabel.Color = ARGBColors.Black; this.villagesLabel.Position = new Point(0x267, -2); this.villagesLabel.Size = new Size(110, this.headerLabelsImage.Height); this.villagesLabel.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.villagesLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.headerLabelsImage.addControl(this.villagesLabel); this.flagimage.createFromFlagData(data.flagData); this.flagimage.Position = new Point(0x23, 6); this.flagimage.Scale = 0.5; this.mainBackgroundImage.addControl(this.flagimage); if (data.factionID == RemoteServices.Instance.UserFactionID) { InterfaceMgr.Instance.setVillageHeading(SK.Text("FactionInvites_My_Faction_Details", "My Faction Details")); } else { InterfaceMgr.Instance.setVillageHeading(SK.Text("FactionInvites_Faction_Details", "Faction Details")); } if ((RemoteServices.Instance.UserFactionID < 0) && GameEngine.Instance.World.alreadyGotFactionApplication(data.factionID)) { this.diplomacyLabel.Text = SK.Text("FactionInvites_Application Pending", "Application Pending"); this.diplomacyLabel.Color = ARGBColors.Black; this.diplomacyLabel.Position = new Point(0x18, 0x7e); this.diplomacyLabel.Size = new Size(240, 40); this.diplomacyLabel.Font = FontManager.GetFont("Arial", 12f, FontStyle.Regular); this.diplomacyLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_LEFT; this.mainBackgroundImage.addControl(this.diplomacyLabel); } else if (((RemoteServices.Instance.UserFactionID < 0) && data.openForApplications) && !GameEngine.Instance.World.alreadyGotFactionApplication(data.factionID)) { if (GameEngine.Instance.World.getRank() >= 6) { this.diplomacyButton.ImageNorm = (Image) GFXLibrary.misc_button_blue_210wide_normal; this.diplomacyButton.ImageOver = (Image) GFXLibrary.misc_button_blue_210wide_over; this.diplomacyButton.ImageClick = (Image) GFXLibrary.misc_button_blue_210wide_pushed; this.diplomacyButton.Position = new Point(0x18, 0x7e); this.diplomacyButton.Text.Text = SK.Text("FactionInvites_Apply", "Apply To Join"); this.diplomacyButton.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.diplomacyButton.Text.Font = FontManager.GetFont("Arial", 9f, FontStyle.Bold); this.diplomacyButton.TextYOffset = -3; this.diplomacyButton.Text.Color = ARGBColors.Black; this.diplomacyButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.applyClicked), "FactionMyFactionPanel_diplomacy"); this.mainBackgroundImage.addControl(this.diplomacyButton); } } else if (data.factionID != RemoteServices.Instance.UserFactionID) { if (GameEngine.Instance.World.getYourFactionRank() == 1) { this.diplomacyButton.ImageNorm = (Image) GFXLibrary.misc_button_blue_210wide_normal; this.diplomacyButton.ImageOver = (Image) GFXLibrary.misc_button_blue_210wide_over; this.diplomacyButton.ImageClick = (Image) GFXLibrary.misc_button_blue_210wide_pushed; this.diplomacyButton.Position = new Point(0x18, 0x7e); this.diplomacyButton.Text.Text = ""; this.diplomacyButton.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.diplomacyButton.Text.Font = FontManager.GetFont("Arial", 9f, FontStyle.Bold); this.diplomacyButton.TextYOffset = -3; this.diplomacyButton.Text.Color = ARGBColors.Black; this.diplomacyButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.diplomacyClicked), "FactionMyFactionPanel_diplomacy"); this.mainBackgroundImage.addControl(this.diplomacyButton); } else { this.diplomacyLabel.Text = ""; this.diplomacyLabel.Color = ARGBColors.Black; this.diplomacyLabel.Position = new Point(0x18, 0x7e); this.diplomacyLabel.Size = new Size(240, 40); this.diplomacyLabel.Font = FontManager.GetFont("Arial", 12f, FontStyle.Regular); this.diplomacyLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.TOP_RIGHT; this.mainBackgroundImage.addControl(this.diplomacyLabel); } } this.wallScrollArea.Position = new Point(0x19, 0xbc); this.wallScrollArea.Size = new Size(0x2c1, (height - 0x26) - 150); this.wallScrollArea.ClipRect = new Rectangle(new Point(0, 0), new Size(0x2c1, (height - 0x26) - 150)); this.mainBackgroundImage.addControl(this.wallScrollArea); this.mouseWheelOverlay.Position = this.wallScrollArea.Position; this.mouseWheelOverlay.Size = this.wallScrollArea.Size; this.mouseWheelOverlay.setMouseWheelDelegate(new CustomSelfDrawPanel.CSDControl.CSD_MouseWheelDelegate(this.mouseWheelMoved)); this.mainBackgroundImage.addControl(this.mouseWheelOverlay); int num1 = this.wallScrollBar.Value; this.wallScrollBar.Position = new Point(0x2dd, 0xbc); this.wallScrollBar.Size = new Size(0x18, (height - 0x26) - 150); this.mainBackgroundImage.addControl(this.wallScrollBar); this.wallScrollBar.Value = 0; this.wallScrollBar.Max = 100; this.wallScrollBar.NumVisibleLines = 0x19; this.wallScrollBar.Create(null, null, null, (Image) GFXLibrary._24wide_thumb_top, (Image) GFXLibrary._24wide_thumb_middle, (Image) GFXLibrary._24wide_thumb_bottom); this.wallScrollBar.setValueChangeDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ValueChangedDelegate(this.wallScrollBarMoved)); bool uptodate = false; FactionMemberData[] fmd = GameEngine.Instance.World.getFactionMemberData(m_selectedFaction, ref uptodate); if (!resized) { if ((GameEngine.Instance.LocalWorldData.AIWorld && (data.factionID >= 1)) && (data.factionID <= 4)) { uptodate = true; fmd = new FactionMemberData[] { new FactionMemberData() }; switch (data.factionID) { case 1: fmd[0].userID = 1; fmd[0].userName = "******"; fmd[0].status = 1; fmd[0].numVillages = GameEngine.Instance.World.countRatsCastles(); break; case 2: fmd[0].userID = 2; fmd[0].userName = "******"; fmd[0].status = 1; fmd[0].numVillages = GameEngine.Instance.World.countSnakesCastles(); break; case 3: fmd[0].userID = 3; fmd[0].userName = "******"; fmd[0].status = 1; fmd[0].numVillages = GameEngine.Instance.World.countPigsCastles(); break; case 4: fmd[0].userID = 4; fmd[0].userName = "******"; fmd[0].status = 1; fmd[0].numVillages = GameEngine.Instance.World.countWolfsCastles(); break; } } if (!uptodate) { RemoteServices.Instance.set_GetViewFactionData_UserCallBack(new RemoteServices.GetViewFactionData_UserCallBack(this.getViewFactionDataCallback)); RemoteServices.Instance.GetViewFactionData(m_selectedFaction); } this.diplomacyOverlayVisible = false; } this.addPlayers(fmd); if (resized && this.diplomacyOverlayVisible) { this.addDiplomacyOverlay(); } }
public void addPlayers(FactionMemberData[] fmd) { this.wallScrollArea.clearControls(); int y = 0; this.lineList.Clear(); int position = 0; if (fmd != null) { int numOfficers = 0; foreach (FactionMemberData data in fmd) { if (data.status == 2) { numOfficers++; } } for (int i = 0; i < 5; i++) { int num5 = 1; switch (i) { case 1: num5 = 2; break; case 2: num5 = 0; break; case 3: num5 = -1; break; case 4: num5 = -3; break; } foreach (FactionMemberData data2 in fmd) { if (data2.status == num5) { FactionMemberLineOfficer control = new FactionMemberLineOfficer(); if (y != 0) { y += 5; } control.Position = new Point(0, y); control.init(data2, position, this, true, numOfficers); this.wallScrollArea.addControl(control); y += control.Height; this.lineList.Add(control); position++; } } } } this.wallScrollArea.Size = new Size(this.wallScrollArea.Width, y); if (y < this.wallScrollBar.Height) { this.wallScrollBar.Visible = false; } else { this.wallScrollBar.Visible = true; this.wallScrollBar.NumVisibleLines = this.wallScrollBar.Height; this.wallScrollBar.Max = y - this.wallScrollBar.Height; } this.wallScrollArea.invalidate(); this.wallScrollBar.invalidate(); this.update(); base.Invalidate(); }
public void addPlayers(FactionMemberData[] fmd) { this.wallScrollArea.clearControls(); int y = 0; this.lineList.Clear(); int position = 0; if (fmd != null) { if (m_selectedFaction != RemoteServices.Instance.UserFactionID) { for (int i = 0; i < 3; i++) { int num4 = 1; switch (i) { case 1: num4 = 2; break; case 2: num4 = 0; break; } foreach (FactionMemberData data in fmd) { if (data.status == num4) { FactionMemberLine control = new FactionMemberLine(); if (y != 0) { y += 5; } control.Position = new Point(0, y); control.init(data, position, this, false); this.wallScrollArea.addControl(control); y += control.Height; this.lineList.Add(control); position++; } } } } else { for (int j = 0; j < 3; j++) { int num6 = 1; switch (j) { case 1: num6 = 2; break; case 2: num6 = 0; break; case 3: num6 = -1; break; } foreach (FactionMemberData data2 in fmd) { if (data2.status == num6) { FactionMemberLine line2 = new FactionMemberLine(); if (y != 0) { y += 5; } line2.Position = new Point(0, y); line2.init(data2, position, this, true); this.wallScrollArea.addControl(line2); y += line2.Height; this.lineList.Add(line2); position++; } } } } } this.wallScrollArea.Size = new Size(this.wallScrollArea.Width, y); if (y < this.wallScrollBar.Height) { this.wallScrollBar.Visible = false; } else { this.wallScrollBar.Visible = true; this.wallScrollBar.NumVisibleLines = this.wallScrollBar.Height; this.wallScrollBar.Max = y - this.wallScrollBar.Height; } this.wallScrollArea.invalidate(); this.wallScrollBar.invalidate(); this.updateRelationshipText(); this.update(); base.Invalidate(); }
public void init(FactionMemberData factionData, int position, FactionOfficersPanel parent, bool ownFaction, int numOfficers) { this.m_parent = parent; this.m_position = position; this.m_factionMemberData = factionData; this.clearControls(); if ((position & 1) == 0) { this.backgroundImage.Image = (Image) GFXLibrary.lineitem_strip_02_light; } else { this.backgroundImage.Image = (Image) GFXLibrary.lineitem_strip_02_dark; } this.backgroundImage.Position = new Point(0, 0); base.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); base.addControl(this.backgroundImage); this.Size = this.backgroundImage.Size; NumberFormatInfo nFI = GameEngine.NFI; if ((factionData.status == 1) || (factionData.status == 2)) { if (factionData.status == 1) { this.officerImage.Image = (Image) GFXLibrary.faction_leaders[1]; this.officerImage.CustomTooltipID = 0x901; } else { this.officerImage.Image = (Image) GFXLibrary.faction_leaders[0]; this.officerImage.CustomTooltipID = 0x902; } this.officerImage.Position = new Point(9, 2); this.officerImage.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.officerImage); } this.playerName.Text = factionData.userName; this.playerName.Color = ARGBColors.Black; this.playerName.Position = new Point(0x27, 0); this.playerName.Size = new Size(280, this.backgroundImage.Height); this.playerName.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.playerName.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT; this.playerName.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.playerName); if (factionData.status == -1) { this.pendingLabel.Text = SK.Text("FactionsInvites_Invite_Pending", "Invitation Pending"); this.pendingLabel.Color = ARGBColors.DarkRed; this.pendingLabel.Position = new Point(300, 0); this.pendingLabel.Size = new Size(500, this.backgroundImage.Height); this.pendingLabel.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.pendingLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT; this.pendingLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.pendingLabel); switch (GameEngine.Instance.World.getYourFactionRank()) { case 1: case 2: this.declineButton.ImageNorm = (Image) GFXLibrary.mail2_button_blue_141wide_normal; this.declineButton.ImageOver = (Image) GFXLibrary.mail2_button_blue_141wide_over; this.declineButton.ImageClick = (Image) GFXLibrary.mail2_button_blue_141wide_pushed; this.declineButton.Position = new Point(0x20d, 0); this.declineButton.Text.Text = SK.Text("FactionMemberLine_Cancel_Invite", "Cancel Invite"); this.declineButton.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.declineButton.Text.Font = FontManager.GetFont("Arial", 9f, FontStyle.Bold); this.declineButton.TextYOffset = -3; this.declineButton.Text.Color = ARGBColors.Black; this.declineButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.declineClicked), "FactionOfficersPanel_decline"); this.backgroundImage.addControl(this.declineButton); break; } } else if (factionData.status == -3) { this.pendingLabel.Text = SK.Text("FactionsInvites_Application", "Application"); this.pendingLabel.Color = ARGBColors.DarkRed; this.pendingLabel.Position = new Point(270, 0); this.pendingLabel.Size = new Size(500, this.backgroundImage.Height); this.pendingLabel.Font = FontManager.GetFont("Arial", 9f, FontStyle.Regular); this.pendingLabel.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_LEFT; this.pendingLabel.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.clickedLine)); this.backgroundImage.addControl(this.pendingLabel); switch (GameEngine.Instance.World.getYourFactionRank()) { case 1: case 2: this.acceptButton.ImageNorm = (Image) GFXLibrary.mail2_button_blue_141wide_normal; this.acceptButton.ImageOver = (Image) GFXLibrary.mail2_button_blue_141wide_over; this.acceptButton.ImageClick = (Image) GFXLibrary.mail2_button_blue_141wide_pushed; this.acceptButton.Position = new Point(370, 0); this.acceptButton.Text.Text = SK.Text("FactionInviteLine_Accept", "Accept"); this.acceptButton.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.acceptButton.Text.Font = FontManager.GetFont("Arial", 9f, FontStyle.Bold); this.acceptButton.TextYOffset = -3; this.acceptButton.Text.Color = ARGBColors.Black; this.acceptButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.acceptAppClicked), "FactionOfficersPanel_decline"); this.backgroundImage.addControl(this.acceptButton); this.declineButton.ImageNorm = (Image) GFXLibrary.mail2_button_blue_141wide_normal; this.declineButton.ImageOver = (Image) GFXLibrary.mail2_button_blue_141wide_over; this.declineButton.ImageClick = (Image) GFXLibrary.mail2_button_blue_141wide_pushed; this.declineButton.Position = new Point(0x20d, 0); this.declineButton.Text.Text = SK.Text("FactionInviteLine_Decline", "Decline"); this.declineButton.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.declineButton.Text.Font = FontManager.GetFont("Arial", 9f, FontStyle.Bold); this.declineButton.TextYOffset = -3; this.declineButton.Text.Color = ARGBColors.Black; this.declineButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.declineAppClicked), "FactionOfficersPanel_decline"); this.backgroundImage.addControl(this.declineButton); break; } } else { int num3 = GameEngine.Instance.World.getYourFactionRank(); if (factionData.status != 1) { if (num3 == 1) { this.promoteButton.ImageNorm = (Image) GFXLibrary.misc_button_blue_210wide_normal; this.promoteButton.ImageOver = (Image) GFXLibrary.misc_button_blue_210wide_over; this.promoteButton.ImageClick = (Image) GFXLibrary.misc_button_blue_210wide_pushed; this.promoteButton.Position = new Point(300, 0); this.promoteButton.Text.Text = SK.Text("FactionMemberLine_Cancel_Invite", "Cancel Invite"); if (factionData.status == 0) { this.promoteButton.Text.Text = SK.Text("FactionMemberLine_Promote_To_Officer", "Promote To Officer"); if (numOfficers >= GameEngine.Instance.LocalWorldData.Faction_MaxSergeants) { this.promoteButton.Enabled = false; } } else { this.promoteButton.Text.Text = SK.Text("FactionMemberLine_Demote_To_Commoner", "Demote To Commoner"); } this.promoteButton.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.promoteButton.Text.Font = FontManager.GetFont("Arial", 9f, FontStyle.Bold); this.promoteButton.TextYOffset = -3; this.promoteButton.Text.Color = ARGBColors.Black; this.promoteButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.promoteClicked), "FactionOfficersPanel_promote"); this.backgroundImage.addControl(this.promoteButton); } if (factionData.status == 0) { this.dismissButton.ImageNorm = (Image) GFXLibrary.mail2_button_blue_141wide_normal; this.dismissButton.ImageOver = (Image) GFXLibrary.mail2_button_blue_141wide_over; this.dismissButton.ImageClick = (Image) GFXLibrary.mail2_button_blue_141wide_pushed; this.dismissButton.Position = new Point(0x20d, 0); this.dismissButton.Text.Text = SK.Text("FactionMemberLine_Dismiss", "Dismiss"); this.dismissButton.Text.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.dismissButton.Text.Font = FontManager.GetFont("Arial", 9f, FontStyle.Bold); this.dismissButton.TextYOffset = -3; this.dismissButton.Text.Color = ARGBColors.Black; this.dismissButton.setClickDelegate(new CustomSelfDrawPanel.CSDControl.CSD_ClickDelegate(this.dismissMember), "FactionOfficersPanel_dismiss"); this.backgroundImage.addControl(this.dismissButton); } } if ((factionData.status == 1) || (factionData.status == 2)) { this.voteCheck.CheckedImage = (Image) GFXLibrary.checkbox_checked; this.voteCheck.UncheckedImage = (Image) GFXLibrary.checkbox_unchecked; this.voteCheck.Position = new Point(0x249, 5); if ((factionData.userID == GameEngine.Instance.World.YourFactionVote) || ((GameEngine.Instance.World.YourFactionVote == -1) && (factionData.status == 1))) { this.voteCheck.Checked = true; } else { this.voteCheck.Checked = false; this.voteCheck.setCheckChangedDelegate(new CustomSelfDrawPanel.CSDCheckBox.CSD_CheckChangedDelegate(this.checkToggled)); } this.backgroundImage.addControl(this.voteCheck); } } base.invalidate(); }