Пример #1
0
        private void DisplayYard(Outfitting yard)
        {
            foreach (var i in yard.Items)
            {
                ShipModuleData.ShipModule sm = ShipModuleData.Instance.GetItemProperties(i.FDName);
                //string namepart = i.Name.Left("Class", StringComparison.InvariantCultureIgnoreCase, true), classpart = i.Name.Mid("Class", StringComparison.InvariantCultureIgnoreCase, false);

                string info = sm.InfoMassPower(false);

                object[] rowobj = { i.ModType, i.Name, info, sm.Mass.ToString("0.#t"), i.BuyPrice.ToString("N1") + "cr" };
                dataGridViewOutfitting.Rows.Add(rowobj);
            }

            double distance = discoveryform.history.DistanceCurrentTo(yard.StarSystem);

            labelYard.Text    = yard.Ident(EDDiscoveryForm.EDDConfig.DisplayUTC) + (distance > -1 ? (" @ " + distance.ToString("N1") + "ly") : "");
            labelYard.Visible = true;

            Col1.HeaderText = "Type".T(EDTx.UserControlOutfitting_Type);
            Col1.Tag        = null;
            Col2.HeaderText = "Item".T(EDTx.UserControlOutfitting_Item);
            Col2.Tag        = null;
            Col3.HeaderText = "Info".T(EDTx.UserControlOutfitting_Info);
            Col3.Tag        = null;
            Col4.HeaderText = "Mass".T(EDTx.UserControlOutfitting_Mass);
            Col4.Tag        = "t";
        }
        private IEnumerable <EddnEvent> ConvertOutfittingEvent(Outfitting e, string commanderName)
        {
            if (e.Items == null || e.Items.Length == 0)
            {
                yield break;
            }

            string[] items = e.Items
                             .Select(i => i.Name)
                             .Select(i => i.Replace("hpt_", "Hpt_").Replace("int_", "Int_").Replace("armour_", "Armour_"))
                             .ToArray();

            var @event = new OutfittingEvent()
            {
                Header  = CreateHeader(commanderName),
                Message = new OutfittingMessage()
                {
                    MarketId    = e.MarketId,
                    Timestamp   = e.Timestamp,
                    StationName = e.StationName,
                    SystemName  = e.StarSystem,
                    Modules     = items
                }
            };

            yield return(@event);
        }
Пример #3
0
 internal OutfittingEvent InvokeEvent(OutfittingEvent arg)
 {
     if (_api.ValidateEvent(arg))
     {
         Outfitting?.Invoke(_api, arg);
     }
     return(arg);
 }
Пример #4
0
        public JournalOutfitting(DateTime utc, string sn, string sys, long mid, Tuple <long, string, long>[] list, int cmdrid, bool horizons = true) :
            base(utc, JournalTypeEnum.Outfitting, false)
        {
            MarketID = mid;
            Horizons = horizons;
            var nlist = list.Select(x => new Outfitting.OutfittingItem {
                id = x.Item1, Name = x.Item2, BuyPrice = x.Item3
            }).ToArray();

            ItemList = new Outfitting(sn, sys, utc, nlist);
            SetCommander(cmdrid);
        }
Пример #5
0
        private void Display()
        {
            DataGridViewColumn sortcol   = dataGridViewOutfitting.SortedColumn != null ? dataGridViewOutfitting.SortedColumn : dataGridViewOutfitting.Columns[0];
            SortOrder          sortorder = dataGridViewOutfitting.SortOrder;

            dataGridViewOutfitting.Rows.Clear();
            dataViewScrollerPanel.SuspendLayout();

            labelYard.Visible = false;

            Outfitting yard = null;

            if (comboBoxYards.SelectedIndex == 0 || comboBoxYards.Text.Length == 0)  // second is due to the order History gets called vs this on start
            {
                HistoryEntry lastshipyard = discoveryform.history.GetLastHistoryEntry(x => x.EntryType == JournalTypeEnum.Outfitting, last_he);
                if (lastshipyard != null)
                {
                    yard = (lastshipyard.journalEntry as EliteDangerousCore.JournalEvents.JournalOutfitting).ItemList;
                }
            }
            else
            {
                yard = discoveryform.history.Outfitting.GetFilteredList().Find(x => x.Ident().Equals(comboBoxYards.Text));
            }

            if (yard != null)
            {
                DisplayYard(yard);
            }
            else
            {
                List <Tuple <Outfitting, List <Outfitting.OutfittingItem> > > itemlist = discoveryform.history.Outfitting.GetItemTypeLocationsFromYardsWithoutRepeat(comboBoxYards.Text, nolocrepeats: true);
                if (itemlist.Count > 0)
                {
                    DisplayItems(itemlist, comboBoxYards.Text);
                }
            }

            dataViewScrollerPanel.ResumeLayout();

            dataGridViewOutfitting.Sort(sortcol, (sortorder == SortOrder.Descending) ? ListSortDirection.Descending : ListSortDirection.Ascending);
            dataGridViewOutfitting.Columns[sortcol.Index].HeaderCell.SortGlyphDirection = sortorder;
        }
Пример #6
0
 public void Rescan(JObject evt)
 {
     ItemList = new Outfitting(evt["StationName"].Str(), evt["StarSystem"].Str(), EventTimeUTC, evt["Items"]?.ToObjectProtected <Outfitting.OutfittingItem[]>());
     MarketID = evt["MarketID"].LongNull();
     Horizons = evt["Horizons"].BoolNull();
 }