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;
     }
 }
Esempio n. 5
0
 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;
        }
    }
Esempio n. 7
0
        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();
        }
Esempio n. 8
0
        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);
        }
Esempio n. 10
0
        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);
        }