Ejemplo n.º 1
0
        public void SelectShip(Ship RandomizedShip)
        {
            LOG.Debug("SelectShip(" + RandomizedShip.Name + ")");
            ClearSelections();
            selectedShip = RandomizedShip;

            TableLayoutPanel  tl        = this.Controls.Find("ShipMetricsTable", true).FirstOrDefault() as TableLayoutPanel;
            MetricsExctractor Extractor = new MetricsExctractor(RandomizedShip);

            Metrics = Extractor.GetMetrics();
            MetricsDrawer Drawer = new MetricsDrawer(tl);

            MetricsTableComposer.DrawTable(Extractor, Drawer);
            picShip.Load(RandomizedShip.Images.Small);
            this.Text = "Build Manager: " + RandomizedShip.Name;
            panelCaptainSkills.Enabled = true;
            panelFlags.Enabled         = true;
            upgradeSlot1.Enabled       = true;

            if (RandomizedShip.Tier >= 3)
            {
                upgradeSlot2.Enabled = true;
                upgradeSlot2.Visible = true;
            }
            if (RandomizedShip.Tier >= 5)
            {
                upgradeSlot3.Enabled = true;
                upgradeSlot3.Visible = true;
            }
            if (RandomizedShip.Tier >= 6)
            {
                upgradeSlot4.Enabled = true;
                upgradeSlot4.Visible = true;
            }
            if (RandomizedShip.Tier >= 8)
            {
                upgradeSlot5.Enabled = true;
                upgradeSlot5.Visible = true;
            }
            if (RandomizedShip.Tier >= 9)
            {
                upgradeSlot6.Enabled = true;
                upgradeSlot6.Visible = true;
            }

            string type = RandomizedShip.ShipType.ToLower();

            LoadSkills(AbbreviateShipType(type));

            cbCamoflage.Enabled = true;

            bmHandler = new BuildManagerHandler(ShipMetricsTable, Metrics);
        }
Ejemplo n.º 2
0
        private void AddShipToCompare(Ship findShip, ShipBuild build = null)
        {
            CompareShip childForm = new CompareShip();

            if (this.MdiChildren.Length == 0)
            {
                childForm.IsFirstChild = true;
                FirstChild             = childForm;
            }

            childForm.MdiParent = this;
            string selection = findShip.Name;

            TableLayoutPanel  tl        = childForm.Controls.Find("ShipMetricsTable", true).FirstOrDefault() as TableLayoutPanel;
            MetricsExctractor Extractor = new MetricsExctractor(findShip);
            MetricsDrawer     Drawer    = new MetricsDrawer(tl);

            MetricsTableComposer.DrawTable(Extractor, Drawer);

            if (build != null)
            {
                selection += "**PB**";
                BuildManagerHandler bmHandler = new BuildManagerHandler(tl, Extractor.GetMetrics());
                bmHandler.PerformAnimation(false);
                bmHandler.KeepBackgroundTransparent(true);
                bmHandler.ApplyAll(build.Flags);
                bmHandler.ApplyAll(build.Skills);
                bmHandler.ApplyAll(build.Upgrades);
            }

            childForm.Text = selection;

            childForm.StartPosition = FormStartPosition.Manual;
            int   positionX = (this.MdiChildren.Length - 1) * 252;
            Point point     = new Point(positionX, 0);

            childForm.Location = point;

            if (childForm.IsFirstChild == false)
            {
                MetricsCompare.DoCompare(childForm.Controls.Find("ShipMetricsTable", true).FirstOrDefault() as TableLayoutPanel, FirstChild.Controls.Find("ShipMetricsTable", true).FirstOrDefault() as TableLayoutPanel);
            }
            childForm.Show();
            toolStripStatusLabel.Text = "Added '" + selection + "' to compare.";
            statusStrip.Refresh();
        }
Ejemplo n.º 3
0
        private void LoadShipMetrics()
        {
            if (RandomizedShip == null)
            {
                return;
            }
            LOG.Debug("Loading ship metrics");
            MetricsExctractor Extractor = new MetricsExctractor(RandomizedShip);
            MetricsDrawer     Drawer    = new MetricsDrawer(ShipMetricsTable);

            MetricsTableComposer.DrawTable(Extractor, Drawer);

            try
            {
                Settings settings = Commons.GetSettings();
                string   fileName = settings.SaveLocation;
                if (!fileName.EndsWith("\\"))
                {
                    fileName += @"\";
                }
                fileName += RandomizedShip.Name + ".bld";

                ShipBuild build = null;
                if (File.Exists(fileName))
                {
                    build = BinarySerialize.ReadFromBinaryFile <ShipBuild>(fileName);
                }

                if (build != null)
                {
                    BuildManagerHandler bmHandler = new BuildManagerHandler(ShipMetricsTable, Extractor.GetMetrics());
                    bmHandler.PerformAnimation(false);
                    bmHandler.KeepBackgroundTransparent(false);
                    bmHandler.ApplyAll(build.Flags);
                    bmHandler.ApplyAll(build.Skills);
                    bmHandler.ApplyAll(build.Upgrades);
                }
            }
            catch (Exception) { }
        }