Exemple #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="id"></param>
 /// <param name="name"></param>
 /// <param name="volume"></param>
 /// <param name="unitsToRefine"></param>
 /// <param name="mineralsOut"></param>
 public Ore(int id, string name, double volume, int unitsToRefine, MineralsOut mineralsOut)
 {
     Id             = id;
     Name           = name;
     Volume         = volume;
     _unitsToRefine = unitsToRefine;
     MineralsOut    = mineralsOut;
 }
        /// <summary>
        /// Вычилсить прибыль и добавить строчку в таблицу
        /// </summary>
        /// <param name="ore">тип руды</param>
        /// <param name="netYield">The net yield.</param>
        /// <param name="quantity">количество руды для процессинга</param>
        private double InsertProfitLine(Ore ore, double netYield, int quantity)
        {
            int unitProcess    = quantity - quantity % ore.UnitsToRefine;
            int numberOfCycles = quantity / ore.UnitsToRefine;

            MineralsOut minout = ore.GetMineralsOut(netYield, quantity);
            double      profit = minout.GetMineralProfit();

            //Добавляем строчку
            DataGridViewRow row = new DataGridViewRow();

            DataGridViewCell[] cells = new DataGridViewCell[dataGridViewCalc.ColumnCount];
            cells[ColumnOreCalc.Index] = new DataGridViewTextBoxCell {
                Value = ore.Name
            };
            cells[ColumnVolume.Index] = new DataGridViewTextBoxCell
            {
                Value = (unitProcess * ore.Volume).ToString("F2")                               // + " m3"
            };
            cells[ColumnRefVolume.Index] = new DataGridViewTextBoxCell
            {
                Value = ((ore.MineralsOut.Tritanium +
                          ore.MineralsOut.Pyerite +
                          ore.MineralsOut.Mexallon +
                          ore.MineralsOut.Isogen +
                          ore.MineralsOut.Nocxium +
                          ore.MineralsOut.Zydrine +
                          ore.MineralsOut.Megacyte +
                          ore.MineralsOut.Morphite) * numberOfCycles *
                         ore.GetEfficiency(netYield) * 0.01).ToString("F2")
            };

            cells[ColumnProfit.Index] = new DataGridViewTextBoxCell {
                Value = profit.ToString("#,#.##")
            };                                                                                           // + " ISK"};
            cells[ColumnDelete2.Index] = new DataGridViewButtonCell {
                Value = "x"
            };

            row.Cells.AddRange(cells);
            dataGridViewCalc.Rows.Add(row);
            return(profit);
        }
        /// <summary>
        /// Refreshes the histogram.
        /// </summary>
        /// <param name="minerals">The minerals.</param>
        private void RefreshHistogram(MineralsOut minerals)
        {
            histogram1.Suffix = "k Isk";
            histogram1.ListBars.Clear();
            Bar bar = new Bar
            {
                Color1 = Color.FromArgb(255, 228, 175),
                Color2 = Color.FromArgb(88, 61, 31),
                Name   = "Tritanium",
                Value  = minerals.Tritanium * Config <Settings> .Instance.PriceTritanium / 1000
            };

            histogram1.ListBars.Add(bar);

            bar = new Bar
            {
                Color1 = Color.FromArgb(0xff, 0xa3, 0x66),
                Color2 = Color.FromArgb(0x5c, 0x2c, 0x18),
                Name   = "Pyerite",
                Value  = minerals.Pyerite * Config <Settings> .Instance.PricePyerite / 1000
            };
            histogram1.ListBars.Add(bar);

            bar = new Bar
            {
                Color1 = Color.FromArgb(0xf2, 0xff, 0xc7),
                Color2 = Color.FromArgb(0x3c, 0x50, 0x18),
                Name   = "Mexallon",
                Value  = minerals.Mexallon * Config <Settings> .Instance.PriceMexallon / 1000
            };
            histogram1.ListBars.Add(bar);

            bar = new Bar
            {
                Color1 = Color.FromArgb(0xe4, 0xf3, 0xf7),
                Color2 = Color.FromArgb(0x2a, 0x80, 0x9c),
                Name   = "Isogen",
                Value  = minerals.Isogen * Config <Settings> .Instance.PriceIsogen / 1000
            };
            histogram1.ListBars.Add(bar);

            bar = new Bar
            {
                Color1 = Color.Silver,
                Name   = "Nocxium",
                Value  = minerals.Nocxium * Config <Settings> .Instance.PriceNocxium / 1000
            };
            histogram1.ListBars.Add(bar);
            bar = new Bar
            {
                Color1 = Color.FromArgb(0x54, 0x98, 0x3a),
                Color2 = Color.FromArgb(0x0b, 0x30, 0x10),
                Name   = "Zydrine",
                Value  = minerals.Zydrine * Config <Settings> .Instance.PriceZydrine / 1000
            };
            histogram1.ListBars.Add(bar);
            bar = new Bar
            {
                Color1 = Color.FromArgb(0xc7, 0xbb, 0xa8),
                Color2 = Color.FromArgb(0x44, 0x37, 0x24),
                Name   = "Megacyte",
                Value  = minerals.Megacyte * Config <Settings> .Instance.PriceMegacyte / 1000
            };
            histogram1.ListBars.Add(bar);
            bar = new Bar
            {
                Color1 = Color.FromArgb(0xda, 0x4e, 0x40),
                Color2 = Color.FromArgb(0x48, 0x04, 0x03),
                //Color1 = Color.DarkRed,
                Name  = "Morphite",
                Value = minerals.Morphite * Config <Settings> .Instance.PriceMorphite / 1000
            };
            histogram1.ListBars.Add(bar);


            histogram1.Invalidate();
            textBoxProfit.Text = Resources.CalculatorForm_RefreshHistogram_Total_Profit__ + minerals.GetMineralProfit().ToString("#,#.##") + Resources.CalculatorForm_RefreshHistogram__ISK;
        }
        /// <summary>
        /// Handles the Click event of the btnCalculateBars control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        private void BtnCalculateBarsClick(object sender, EventArgs e)
        {
            double netYield = 0.5;

            try
            {
                netYield = Convert.ToDouble(textBoxNetYield.Text) / 100;
            }
            catch (FormatException)
            {
            }
            //Veldspar
            int         quantity = GetQuantity(textBoxVeldspar0);
            Ore         ore      = OreList.Get("Veldspar");
            MineralsOut minerals = ore.GetMineralsOut(netYield, quantity);

            quantity  = GetQuantity(textBoxVeldspar5);
            ore       = OreList.Get("Concentrated Veldspar");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxVeldspar10);
            ore       = OreList.Get("Dense Veldspar");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Scordite
            quantity  = GetQuantity(textBoxScordite0);
            ore       = OreList.Get("Scordite");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxScordite5);
            ore       = OreList.Get("Condensed Scordite");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxScordite10);
            ore       = OreList.Get("Massive Scordite");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Pyroxeres
            quantity  = GetQuantity(textBoxPyroxeres0);
            ore       = OreList.Get("Pyroxeres");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxPyroxeres5);
            ore       = OreList.Get("Solid Pyroxeres");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxPyroxeres10);
            ore       = OreList.Get("Viscous Pyroxeres");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Plagioclase
            quantity  = GetQuantity(textBoxPlagioclase0);
            ore       = OreList.Get("Plagioclase");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxPlagioclase5);
            ore       = OreList.Get("Azure Plagioclase");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxPlagioclase10);
            ore       = OreList.Get("Rich Plagioclase");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Omber
            quantity  = GetQuantity(textBoxOmber0);
            ore       = OreList.Get("Omber");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxOmber5);
            ore       = OreList.Get("Silvery Omber");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxOmber10);
            ore       = OreList.Get("Golden Omber");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Kernite
            quantity  = GetQuantity(textBoxKernite0);
            ore       = OreList.Get("Kernite");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxKernite5);
            ore       = OreList.Get("Luminous Kernite");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxKernite10);
            ore       = OreList.Get("Fiery Kernite");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Jaspet
            quantity  = GetQuantity(textBoxJaspet0);
            ore       = OreList.Get("Jaspet");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxJaspet5);
            ore       = OreList.Get("Pure Jaspet");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxJaspet10);
            ore       = OreList.Get("Pristine Jaspet");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Hemorphite
            quantity  = GetQuantity(textBoxHemorphite0);
            ore       = OreList.Get("Hemorphite");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxHemorphite5);
            ore       = OreList.Get("Vivid Hemorphite");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxHemorphite10);
            ore       = OreList.Get("Radiant Hemorphite");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Hedbergite
            quantity  = GetQuantity(textBoxHedbergite0);
            ore       = OreList.Get("Hedbergite");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxHedbergite5);
            ore       = OreList.Get("Vitric Hedbergite");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxHedbergite10);
            ore       = OreList.Get("Glazed Hedbergite");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Gneiss
            quantity  = GetQuantity(textBoxGneiss0);
            ore       = OreList.Get("Gneiss");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxGneiss5);
            ore       = OreList.Get("Iridescent Gneiss");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxGneiss10);
            ore       = OreList.Get("Prismatic Gneiss");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //DarkOchre
            quantity  = GetQuantity(textBoxDarkOchre0);
            ore       = OreList.Get("Dark Ochre");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxDarkOchre5);
            ore       = OreList.Get("Onyx Ochre");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxDarkOchre10);
            ore       = OreList.Get("Obsidian Ochre");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Spodumain
            quantity  = GetQuantity(textBoxSpodumain0);
            ore       = OreList.Get("Spodumain");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxSpodumain5);
            ore       = OreList.Get("Bright Spodumain");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxSpodumain10);
            ore       = OreList.Get("Gleaming Spodumain");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Crokite
            quantity  = GetQuantity(textBoxCrockite0);
            ore       = OreList.Get("Crokite");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxCrockite5);
            ore       = OreList.Get("Sharp Crokite");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxCrockite10);
            ore       = OreList.Get("Crystalline Crokite");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Bistot
            quantity  = GetQuantity(textBoxBistot0);
            ore       = OreList.Get("Bistot");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxBistot5);
            ore       = OreList.Get("Triclinic Bistot");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxBistot10);
            ore       = OreList.Get("Monoclinic Bistot");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Arkonor
            quantity  = GetQuantity(textBoxArkonor0);
            ore       = OreList.Get("Arkonor");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxArkonor5);
            ore       = OreList.Get("Crimson Arkonor");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxArkonor10);
            ore       = OreList.Get("Prime Arkonor");
            minerals += ore.GetMineralsOut(netYield, quantity);

            //Mercoxit
            quantity  = GetQuantity(textBoxMercoxit0);
            ore       = OreList.Get("Mercoxit");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxMercoxit5);
            ore       = OreList.Get("Magma Mercoxit");
            minerals += ore.GetMineralsOut(netYield, quantity);
            quantity  = GetQuantity(textBoxMercoxit10);
            ore       = OreList.Get("Vitreous Mercoxit");
            minerals += ore.GetMineralsOut(netYield, quantity);


            RefreshHistogram(minerals);
        }
Exemple #5
0
 /// <summary>
 ///  
 /// </summary>
 /// <param name="id"></param>
 /// <param name="name"></param>
 /// <param name="volume"></param>
 /// <param name="unitsToRefine"></param>
 /// <param name="mineralsOut"></param>
 public Ore(int id, string name, double volume, int unitsToRefine, MineralsOut mineralsOut)
 {
     Id = id;
     Name = name;
     Volume = volume;
     _unitsToRefine = unitsToRefine;
     MineralsOut = mineralsOut;
 }