protected override void DisplayContent() { contentWrapPanel.Children.Clear(); upgradesToDisplay = upgradesToDisplay.OrderBy(upgrade => upgrade.upgradeType.ToString()).ThenByDescending(upgrade => upgrade.cost).ThenBy(upgrade => upgrade.name).ToList(); foreach (Upgrade upgrade in upgradesToDisplay) { if (upgrade.shipSize == ShipSize.Huge || upgrade.upgradeType == UpgradeType.Team || upgrade.upgradeType == UpgradeType.Hardpoint || upgrade.upgradeType == UpgradeType.Cargo) { continue; } if (upgradeCache.ContainsKey(upgrade.id) == false) { CardCanvas upgradeCanvas = upgrade.GetCanvas(upgradeCardWidth, upgradeCardHeight, new Thickness(2, 2, 2, 2), this); upgradeCanvas.AddCardClickedEvent(this); upgradeCache[upgrade.id] = upgradeCanvas; } upgradeCache[upgrade.id].UpdateNumberOwned(); contentWrapPanel.Children.Add(upgradeCache[upgrade.id]); } pilotsToDisplay = pilotsToDisplay.ToList().OrderBy(pilot => pilot.faction).ThenBy(pilot => pilot.ship.name).ThenByDescending(pilot => pilot.pilotSkill).ThenByDescending(pilot => pilot.cost).ThenBy(pilot => pilot.name).ToList(); foreach (Pilot pilot in pilotsToDisplay) { if (pilot.ship.shipSize == ShipSize.Huge) { continue; } if (pilotCache.ContainsKey(pilot.id) == false) { CardCanvas pilotCanvas = pilot.GetCanvas(pilotCardWidth, pilotCardHeight, new Thickness(2, 2, 2, 2), this); pilotCanvas.AddCardClickedEvent(this); pilotCache[pilot.id] = pilotCanvas; } pilotCache[pilot.id].UpdateNumberOwned(); contentWrapPanel.Children.Add(pilotCache[pilot.id]); } if (contentWrapPanel.Children.Count == 0) { TextBlock instructions = new TextBlock(); instructions.Text = "Enter any word in the search box above to find Upgraes/Pilots with that name\r\n"; instructions.Text += "'all' will show all the Upgrades or Pilots depending on which is selected\r\n"; instructions.Text += "'PS8' or 'PS4-7', using any numbers, will show pilots of, or between, that Pilot Skill\r\n"; instructions.Text += "'8' or '4-7', using any numbers, will show cards of, or between, that cost\r\n"; instructions.Text += "'torpedo' or 'tech', using any upgrade, will show cards of that are, or can use, that upgrade\r\n"; instructions.Text += "'rebel', 'scum' or 'imperial' will show cards of that faction\r\n"; instructions.Text += "'Y-Wing' or 'TIE/fo', using any ship name, will show pilots who use that ship\r\n"; instructions.Text += "'small' or 'large' will show pilots whose ships are of that size"; instructions.FontSize = Opt.ApResMod(14); instructions.LineHeight = 30; instructions.Background = new SolidColorBrush(Color.FromRgb(250, 250, 250)); instructions.Padding = ScaledThicknessFactory.GetThickness(20); contentWrapPanel.Children.Add(instructions); } contentWrapPanel.Margin = new Thickness(0, 0, 0, 40); }
public void RemoveFromCardsList(CardCanvas cardCanvas) { if (_handCardsCanvasList.Contains(cardCanvas)) { _handCardsCanvasList.Remove(cardCanvas); } }
public void AddPilotToCache(Pilot pilot) { if (pilotCache.ContainsKey(pilot.id) == false) { CardCanvas pilotCanvas = pilot.GetCanvas(pilotCardWidth, pilotCardHeight, new Thickness(2, 2, 2, 2), this); pilotCanvas.AddCardClickedEvent(this); pilotCache[pilot.id] = pilotCanvas; } }
public void AddUpgradeToCache(Upgrade upgrade) { if (upgradeCache.ContainsKey(upgrade.id) == false) { CardCanvas upgradeCanvas = upgrade.GetCanvas(upgradeCardWidth, upgradeCardHeight, new Thickness(2, 2, 2, 2), this); upgradeCanvas.AddCardClickedEvent(this); upgradeCache[upgrade.id] = upgradeCanvas; } }
void Awake() { instance = this; timer = GetComponent<WorldTimer>(); noteRef = GetComponent<WorldNoteRef>(); memory = GetComponent<Memory>(); cardPool = GetComponent<CardPool>(); triggerMgr = GetComponent<TriggerMgr>(); cardCanvas = _cardCanvas; eventCanvas = _eventCanvas; }
public void UseAbilityButton() { if (_handCardsCanvasList.Count == 0) { _allCardsCanvasArray = FindObjectsOfType <CardCanvas>(); if (_allCardsCanvasArray.Length == 0) { return; } for (int i = 0; i < _allCardsCanvasArray.Length; i++) { if (!_allCardsCanvasArray[i]._onTable) { _handCardsCanvasList.Add(_allCardsCanvasArray[i]); } } } if (!CurrentCardCanvas) { if (_handCardsCanvasList.Count != 0) { CurrentCardCanvas = _handCardsCanvasList[0]; } } // Выбираем текущей картой самую левую карту for (int i = 0; i < _handCardsCanvasList.Count; i++) { if (_handCardsCanvasList[i].transform.localPosition.x < CurrentCardCanvas.transform.localPosition.x) { CurrentCardCanvas = _handCardsCanvasList[i]; } } if (CurrentCardCanvas) { int randomParameter = Random.Range(0, 3); CurrentCardCanvas.ChangeParameter(randomParameter); CurrentCardCanvas.SetParameterText(); // Удаление карты из списка руки, чтобы сдвинуться на одну вправо _handCardsCanvasList.Remove(CurrentCardCanvas); CurrentCardCanvas = null; } }
public MDICanvas() { InitializeComponent(); var zBitmap = new Bitmap(32, 32); Graphics zGraphics = Graphics.FromImage(zBitmap); Brush zBlack = new SolidBrush(Color.LightGray); Brush zWhite = new SolidBrush(Color.White); zGraphics.FillRectangle(zBlack, 0, 0, 16, 16); zGraphics.FillRectangle(zWhite, 16, 0, 16, 16); zGraphics.FillRectangle(zBlack, 16, 16, 16, 16); zGraphics.FillRectangle(zWhite, 0, 16, 16, 16); panelCardCanvas.BackgroundImage = zBitmap; CardMakerInstance.CanvasUserAction = false; // m_zCardCanvas is a panel within the panelCardCanvas m_zCardCanvas = new CardCanvas { Location = new Point(0, 0), }; ChangeMouseMode(MouseMode.MoveResize); m_zCardCanvas.MouseMove += cardCanvas_MouseMove; m_zCardCanvas.MouseDown += cardCanvas_MouseDown; m_zCardCanvas.MouseUp += cardCanvas_MouseUp; m_zCardCanvas.ContextMenuStrip = m_zContextMenu; m_zContextMenu.RenderMode = ToolStripRenderMode.System; m_zContextMenu.Opening += contextmenuOpening_Handler; panelCardCanvas.Controls.Add(m_zCardCanvas); LayoutManager.Instance.LayoutUpdated += Layout_Updated; LayoutManager.Instance.LayoutLoaded += Layout_Loaded; LayoutManager.Instance.LayoutRenderUpdated += LayoutRender_Updated; LayoutManager.Instance.DeckIndexChanged += DeckIndex_Changed; ElementManager.Instance.ElementSelected += Element_Selected; ProjectManager.Instance.ProjectOpened += Project_Opened; verticalCenterButton.Image = Properties.Resources.VerticalAlign.ToBitmap(); customVerticalAlignButton.Image = Properties.Resources.VerticalCustomAlign.ToBitmap(); horizontalCenterButton.Image = Properties.Resources.HorizontalAlign.ToBitmap(); customHoritonalAlignButton.Image = Properties.Resources.HorizontalCustomAlign.ToBitmap(); customAlignButton.Image = Properties.Resources.CustomAlign.ToBitmap(); }
protected override void DisplayContent() { contentWrapPanel.Children.Clear(); foreach (Upgrade upgrade in Upgrades.upgrades.Values) { upgrade.cardCanvasList.Clear(); } foreach (Pilot pilot in Pilots.pilots.Values) { pilot.cardCanvasList.Clear(); } foreach (Build build in Builds.builds.OrderByDescending(build => build.displayOrder).ToList()) { AlignableWrapPanel buildWrapPanel = new AlignableWrapPanel(); buildWrapPanel.HorizontalContentAlignment = HorizontalAlignment.Center; AlignableWrapPanel spacerWrapPanel = new AlignableWrapPanel(); spacerWrapPanel.HorizontalContentAlignment = HorizontalAlignment.Center; Canvas topSpacer = new Canvas(); topSpacer.Width = 99999; topSpacer.Height = Opt.ApResMod(50); spacerWrapPanel.Children.Add(topSpacer); ImageButton addPilotButton = new ImageButton("add_pilot", 0.5); addPilotButton.uniqueBuildId = build.uniqueBuildId; addPilotButton.MouseDown += new MouseButtonEventHandler(AddPilotClicked); addPilotButton.Margin = ScaledThicknessFactory.GetThickness(2, 0, 2, 0); spacerWrapPanel.Children.Add(addPilotButton); ImageButton upButton = new ImageButton("up", 0.5); upButton.uniqueBuildId = build.uniqueBuildId; upButton.MouseDown += new MouseButtonEventHandler(UpClicked); upButton.Margin = ScaledThicknessFactory.GetThickness(2, 0, 2, 0); spacerWrapPanel.Children.Add(upButton); ImageButton downButton = new ImageButton("down", 0.5); downButton.uniqueBuildId = build.uniqueBuildId; downButton.MouseDown += new MouseButtonEventHandler(DownClicked); downButton.Margin = ScaledThicknessFactory.GetThickness(2, 0, 2, 0); spacerWrapPanel.Children.Add(downButton); OutlinedTextBlock copyFor = new OutlinedTextBlock(); copyFor.Text = "COPY FOR"; copyFor.StrokeThickness = Opt.ApResMod(0.5); copyFor.Stroke = new SolidColorBrush(Color.FromRgb(40, 40, 40)); copyFor.FontWeight = FontWeights.Bold; copyFor.Fill = new SolidColorBrush(Color.FromRgb(80, 80, 80)); copyFor.FontSize = Opt.ApResMod(15); copyFor.FontFamily = new FontFamily("Segoe UI"); copyFor.Margin = ScaledThicknessFactory.GetThickness(2, 3, 2, 0); spacerWrapPanel.Children.Add(copyFor); ComboBox copyForOption = new ComboBox(); copyForOption.Items.Add("Vassal 7.0.3+"); copyForOption.Items.Add("Facebook"); copyForOption.Items.Add("BBCode"); copyForOption.Items.Add("Reddit"); copyForOption.Items.Add("Text"); copyForOption.HorizontalContentAlignment = HorizontalAlignment.Left; copyForOption.VerticalContentAlignment = VerticalAlignment.Center; copyForOption.SelectedIndex = 0; copyForOption.FontSize = Opt.ApResMod(13); copyForOption.FontFamily = new FontFamily("Segoe UI"); copyForOption.Margin = ScaledThicknessFactory.GetThickness(2, 3, 2, 3); copyForOption.Padding = ScaledThicknessFactory.GetThickness(3, 0, 3, 0); spacerWrapPanel.Children.Add(copyForOption); comboBoxes[build.uniqueBuildId] = copyForOption; ImageButton copy = new ImageButton("copy", 0.5); copy.uniqueBuildId = build.uniqueBuildId; copy.MouseDown += new MouseButtonEventHandler(CopyClicked); copy.Margin = ScaledThicknessFactory.GetThickness(2, 0, 2, 0); spacerWrapPanel.Children.Add(copy); ImageButton deleteBuildButton = new ImageButton("delete_squad", 0.5); deleteBuildButton.uniqueBuildId = build.uniqueBuildId; deleteBuildButton.MouseDown += new MouseButtonEventHandler(DeleteBuildClicked); deleteBuildButton.Margin = ScaledThicknessFactory.GetThickness(2, 0, 2, 0); spacerWrapPanel.Children.Add(deleteBuildButton); Canvas bottomSpacer = new Canvas(); bottomSpacer.Width = 99999; bottomSpacer.Height = 1; spacerWrapPanel.Children.Add(bottomSpacer); OutlinedTextBlock totalCost = new OutlinedTextBlock(); totalCost.Text = "TOTAL COST"; totalCost.StrokeThickness = Opt.ApResMod(0.5); totalCost.Stroke = new SolidColorBrush(Color.FromRgb(40, 40, 40)); totalCost.FontWeight = FontWeights.Bold; totalCost.Fill = new SolidColorBrush(Color.FromRgb(80, 80, 80)); totalCost.FontSize = Opt.ApResMod(15); totalCost.FontFamily = new FontFamily("Segoe UI"); totalCost.Margin = ScaledThicknessFactory.GetThickness(2, 3, 0, 0); spacerWrapPanel.Children.Add(totalCost); OutlinedTextBlock totalCost2 = new OutlinedTextBlock(); totalCost2.Text = ": " + build.totalCost.ToString(); totalCost2.StrokeThickness = Opt.ApResMod(0.5); totalCost2.Stroke = new SolidColorBrush(Color.FromRgb(40, 40, 40)); totalCost2.FontWeight = FontWeights.Bold; totalCost2.Fill = new SolidColorBrush(Color.FromRgb(80, 80, 80)); totalCost2.FontSize = Opt.ApResMod(18); totalCost2.FontFamily = new FontFamily("Segoe UI"); totalCost2.Margin = ScaledThicknessFactory.GetThickness(2, 0, 0, 0); spacerWrapPanel.Children.Add(totalCost2); buildWrapPanel.Children.Add(spacerWrapPanel); foreach (UniquePilot uniquePilot in build.pilots.Values.OrderByDescending(uniquePilot => uniquePilot.pilot.pilotSkill).ThenByDescending(uniquePilot => uniquePilot.pilot.cost).ToList()) { StackPanel pilotAndUpgradeInfoStackPanel = new StackPanel(); pilotAndUpgradeInfoStackPanel.Orientation = Orientation.Horizontal; StackPanel pilotAndControlls = new StackPanel(); pilotAndControlls.Orientation = Orientation.Vertical; pilotAndControlls.VerticalAlignment = VerticalAlignment.Top; CardCanvas pilotCanvas = uniquePilot.pilot.GetCanvas(pilotCardWidth, pilotCardHeight, new Thickness(2, 2, 2, 2), this); pilotCanvas.AddDeleteButtonEvent(this, build.uniqueBuildId, uniquePilot.id); pilotAndControlls.Children.Add(pilotCanvas); StackPanel controls = new StackPanel(); controls.Orientation = Orientation.Horizontal; ImageButton addUpgradeButton = new ImageButton("add_upgrade", 0.5); addUpgradeButton.uniquePilotId = uniquePilot.id; addUpgradeButton.uniqueBuildId = build.uniqueBuildId; addUpgradeButton.MouseDown += new MouseButtonEventHandler(AddUpgradeClicked); addUpgradeButton.Margin = ScaledThicknessFactory.GetThickness(2, 10, 2, 0); controls.Children.Add(addUpgradeButton); ImageButton swapPilotButton = new ImageButton("swap_pilot", 0.5); swapPilotButton.uniquePilotId = uniquePilot.id; swapPilotButton.uniqueBuildId = build.uniqueBuildId; swapPilotButton.MouseDown += new MouseButtonEventHandler(SwapPilotClicked); swapPilotButton.Margin = ScaledThicknessFactory.GetThickness(2, 10, 2, 0); controls.Children.Add(swapPilotButton); OutlinedTextBlock pilotAndUpgradesCost = new OutlinedTextBlock(); pilotAndUpgradesCost.Text = "COST"; pilotAndUpgradesCost.StrokeThickness = Opt.ApResMod(0.5); pilotAndUpgradesCost.Stroke = new SolidColorBrush(Color.FromRgb(40, 40, 40)); pilotAndUpgradesCost.FontWeight = FontWeights.Bold; pilotAndUpgradesCost.Fill = new SolidColorBrush(Color.FromRgb(80, 80, 80)); pilotAndUpgradesCost.FontSize = Opt.ApResMod(15); pilotAndUpgradesCost.FontFamily = new FontFamily("Segoe UI"); pilotAndUpgradesCost.Margin = ScaledThicknessFactory.GetThickness(2, 13, 0, 0); controls.Children.Add(pilotAndUpgradesCost); OutlinedTextBlock pilotAndUpgradesCost2 = new OutlinedTextBlock(); pilotAndUpgradesCost2.Text = ": " + uniquePilot.totalCost.ToString(); pilotAndUpgradesCost2.StrokeThickness = Opt.ApResMod(0.5); pilotAndUpgradesCost2.Stroke = new SolidColorBrush(Color.FromRgb(40, 40, 40)); pilotAndUpgradesCost2.FontWeight = FontWeights.Bold; pilotAndUpgradesCost2.Fill = new SolidColorBrush(Color.FromRgb(80, 80, 80)); pilotAndUpgradesCost2.FontSize = Opt.ApResMod(18); pilotAndUpgradesCost2.FontFamily = new FontFamily("Segoe UI"); pilotAndUpgradesCost2.Margin = ScaledThicknessFactory.GetThickness(2, 10, 0, 0); controls.Children.Add(pilotAndUpgradesCost2); pilotAndControlls.Children.Add(controls); pilotAndUpgradeInfoStackPanel.Children.Add(pilotAndControlls); int currentUpgradeNumber = 0; StackPanel upgradesStackPanel = new StackPanel(); upgradesStackPanel.Orientation = Orientation.Vertical; upgradesStackPanel.VerticalAlignment = VerticalAlignment.Top; foreach (KeyValuePair <int, Upgrade> upgrade in uniquePilot.upgrades.OrderBy(upgrade => upgrade.Value.upgradeType.ToString()).ThenByDescending(upgrade => upgrade.Value.cost).ThenByDescending(upgrade => upgrade.Value.name)) { CardCanvas upgradeCanvas = upgrade.Value.GetCanvas(upgradeCardWidth, upgradeCardHeight, new Thickness(2, 2, 2, 2), this); upgradeCanvas.AddDeleteButtonEvent(this, build.uniqueBuildId, uniquePilot.id); upgradesStackPanel.Children.Add(upgradeCanvas); if (currentUpgradeNumber % 2 == 1) { pilotAndUpgradeInfoStackPanel.Children.Add(upgradesStackPanel); upgradesStackPanel = new StackPanel(); } currentUpgradeNumber++; } if (currentUpgradeNumber % 2 == 1) { pilotAndUpgradeInfoStackPanel.Children.Add(upgradesStackPanel); } pilotAndUpgradeInfoStackPanel.Margin = ScaledThicknessFactory.GetThickness(10, 20, 10, 0); buildWrapPanel.Children.Add(pilotAndUpgradeInfoStackPanel); } contentWrapPanel.Children.Add(buildWrapPanel); } }
public void AddCard(Card cardInfo, bool isUpgrade) { double cardWidth; double cardHeight; if (isUpgrade) { cardWidth = upgradeCardWidth; cardHeight = upgradeCardHeight; } else { cardWidth = pilotCardWidth; cardHeight = pilotCardHeight; } Width += cardWidth + 40; CardCanvas upgradeCanvas = cardInfo.GetCanvas(cardWidth, cardHeight, new Thickness(20, 2, 2, 2)); upgradeCanvas.HideInfoButton(); Grid.SetColumn(upgradeCanvas, 0); Grid.SetRow(upgradeCanvas, 0); pageStructureGrid.Children.Add(upgradeCanvas); pageStructureGrid.ColumnDefinitions[0].Width = GridLength.Auto; ScrollViewer upgradeInfoScrollViewer = new ScrollViewer(); Grid.SetColumn(upgradeInfoScrollViewer, 1); Grid.SetRow(upgradeInfoScrollViewer, 0); pageStructureGrid.Children.Add(upgradeInfoScrollViewer); AlignableWrapPanel upgradeDetails = new AlignableWrapPanel(); upgradeDetails.VerticalAlignment = VerticalAlignment.Center; upgradeDetails.Margin = ScaledThicknessFactory.GetThickness(20, 0, 20, 0); upgradeInfoScrollViewer.Content = upgradeDetails; TextBlock upgradeInfo = new TextBlock(); upgradeInfo.FontSize = Opt.ApResMod(14); upgradeInfo.Background = new SolidColorBrush(Color.FromRgb(230, 230, 230)); upgradeInfo.Padding = ScaledThicknessFactory.GetThickness(20); upgradeInfo.TextWrapping = TextWrapping.Wrap; upgradeInfo.VerticalAlignment = VerticalAlignment.Center; upgradeInfo.Inlines.Add(new Run() { Text = "Availible In", FontWeight = FontWeights.Bold, FontSize = 18 }); upgradeInfo.Inlines.Add(new LineBreak()); foreach (KeyValuePair <ExpansionType, int> expansionType in cardInfo.inExpansion) { upgradeInfo.Inlines.Add(new LineBreak()); upgradeInfo.Inlines.Add(Expansions.expansions[expansionType.Key].name + " (" + expansionType.Value.ToString() + ")"); } if (cardInfo.faq.Count > 0) { upgradeInfo.Inlines.Add(new LineBreak()); upgradeInfo.Inlines.Add(new LineBreak()); upgradeInfo.Inlines.Add(new Run() { Text = "FAQ", FontWeight = FontWeights.Bold, FontSize = 18 }); foreach (string faq in cardInfo.faq) { upgradeInfo.Inlines.Add(new LineBreak()); upgradeInfo.Inlines.Add(new LineBreak()); string[] boldSplit = faq.Split('~'); int i = 0; foreach (string boldSplitElement in boldSplit) { if (i % 2 != 0) { upgradeInfo.Inlines.Add(new Run() { Text = boldSplitElement, FontWeight = FontWeights.Bold }); } else { string[] headingSplit = boldSplitElement.Split('{'); int y = 0; foreach (string headingSplitElement in headingSplit) { if (y % 2 != 0) { upgradeInfo.Inlines.Add(new Run() { Text = headingSplitElement, FontWeight = FontWeights.Bold, FontSize = 18 }); } else { string[] manouverSplit = headingSplitElement.Split('*'); int z = 0; foreach (string manouverSplitElement in manouverSplit) { if (z % 2 != 0) { string manouver = ""; switch (manouverSplitElement.ToLower()) { case "straight": manouver = "8"; break; case "left turn": manouver = "4"; break; case "right turn": manouver = "6"; break; case "k turn": manouver = "2"; break; case "hit": manouver = "d"; break; case "crit": manouver = "c"; break; case "evade": manouver = "e"; break; case "focus": manouver = "f"; break; case "turret": manouver = "U"; break; case "elite": manouver = "E"; break; } upgradeInfo.Inlines.Add(new Run() { Text = manouver, FontFamily = new FontFamily("x-wing-symbols") }); } else { upgradeInfo.Inlines.Add(manouverSplitElement); } z++; } } y++; } } i++; } } } /* * *Hit* *K Turn* *Left Turn* * ~bold~ * {Title} * * * Hyperlink hyperlink = new Hyperlink(new Run("Buy here")); * hyperlink.NavigateUri = new Uri("http://stackoverflow.com"); * hyperlink.RequestNavigate += new RequestNavigateEventHandler(ClickedLink); * * upgradeInfo.Inlines.Add(hyperlink);*/ upgradeDetails.Children.Add(upgradeInfo); }
protected override void DisplayContent() { contentWrapPanel.Children.Clear(); contentStackPanel.Children.Clear(); contentStackPanel.Orientation = Orientation.Vertical; contentStackPanel.VerticalAlignment = VerticalAlignment.Center; contentWrapPanel.Children.Add(contentStackPanel); contentStackPanel.Children.Add(selectCategoryStackPanel); TextBlock shipName = new TextBlock(); if (isShowingManeuverCard) { List <string> shipNames = new List <string>(); foreach (Ship ship in Ships.maneuverCardIndexedShipList[currentRandomShip.uniqueManeuverId]) { shipNames.Add(ship.name); } foreach (string thisShipName in shipNames.Distinct()) { shipName.Inlines.Add(thisShipName); shipName.Inlines.Add(new LineBreak()); } shipName.HorizontalAlignment = HorizontalAlignment.Center; shipName.VerticalAlignment = VerticalAlignment.Bottom; shipName.Height = Opt.ApResMod(90); shipName.FontSize = Opt.ApResMod(20); contentStackPanel.Children.Add(shipName); ManeuverCard randomManeuverCard = currentRandomShip.GetManeuverCard(Opt.ApResMod(30)); randomManeuverCard.Margin = ScaledThicknessFactory.GetThickness(0, 0, 0, 20); selectCategoryStackPanel.Margin = ScaledThicknessFactory.GetThickness(0, 280, 0, 20 + (pilotCardHeight - (randomManeuverCard.Height + shipName.Height + 20))); shipName.Margin = ScaledThicknessFactory.GetThickness(0, 0, 0, 20); contentStackPanel.Children.Add(randomManeuverCard); } else { if (currentRandomCard.GetType() == typeof(Pilot)) { randomCard = currentRandomCard.GetCanvas(pilotCardWidth, pilotCardHeight, ScaledThicknessFactory.GetThickness(0, 0, 0, 20), this); selectCategoryStackPanel.Margin = ScaledThicknessFactory.GetThickness(0, 280, 0, 20); } else { randomCard = currentRandomCard.GetCanvas(upgradeCardWidth, upgradeCardHeight, ScaledThicknessFactory.GetThickness(0, 0, 0, 20), this); selectCategoryStackPanel.Margin = ScaledThicknessFactory.GetThickness(0, 280, 0, 20 + (pilotCardHeight - upgradeCardHeight)); } contentStackPanel.Children.Add(randomCard); } ImageButton showName; if (isShowingName == false) { showName = new ImageButton("show_name", 0.5); showName.MouseDown += new MouseButtonEventHandler(ShowNameClicked); showName.Margin = ScaledThicknessFactory.GetThickness(2, 5, 2, 2); if (isShowingManeuverCard) { shipName.Visibility = Visibility.Hidden; } else { randomCard.HideCardIdentifiers(); } } else { showName = new ImageButton("next", 0.5); showName.MouseDown += new MouseButtonEventHandler(ShowNameClicked); showName.Margin = ScaledThicknessFactory.GetThickness(2, 5, 2, 2); if (isShowingManeuverCard) { shipName.Visibility = Visibility.Visible; } else { randomCard.ShowCardIdentifiers(); } } contentStackPanel.Children.Add(showName); }