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); }
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(); }
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) { } }