Esempio n. 1
0
 public SavedResearchPoint(ResearchPoint point)
 {
     if (point != null)
     {
         x     = point.transform.position.x;
         y     = point.transform.position.y;
         value = point.researchValue;
     }
 }
  /// <summary>
  /// Checks the given text matches the item.
  /// </summary>
  /// <param name="x">The x.</param>
  /// <param name="text">The text.</param>
  /// <returns>
  /// 	<c>true</c> if [is text matching] [the specified x]; otherwise, <c>false</c>.
  /// </returns>
  private static bool IsTextMatching(ResearchPoint x, string text) => String.IsNullOrEmpty(text)
 || x.AgentName.ToUpperInvariant().Contains(text, ignoreCase: true)
 || x.Field.ToUpperInvariant().Contains(text, ignoreCase: true)
 || x.Station.Name.ToUpperInvariant().Contains(text, ignoreCase: true)
 || x.Station.SolarSystem.Name.ToUpperInvariant().Contains(text, ignoreCase: true)
 || x.Station.SolarSystem.Constellation.Name.ToUpperInvariant().Contains(text, ignoreCase: true)
 || x.Station.SolarSystem.Constellation.Region.Name.ToUpperInvariant().Contains(text, ignoreCase: true);
        /// <summary>
        /// Updates the listview sub-item.
        /// </summary>
        /// <param name="researchPoint"></param>
        /// <param name="item"></param>
        /// <param name="column"></param>
        private static void SetColumn(ResearchPoint researchPoint, ListViewItem.ListViewSubItem item, ResearchColumn column)
        {
            ConquerableStation outpost = researchPoint.Station as ConquerableStation;

            switch (column)
            {
                case ResearchColumn.Agent:
                    item.Text = researchPoint.AgentName;
                    break;
                case ResearchColumn.Level:
                    item.Text = researchPoint.AgentLevel.ToString(CultureConstants.DefaultCulture);
                    break;
                case ResearchColumn.Field:
                    item.Text = researchPoint.Field;
                    break;
                case ResearchColumn.CurrentRP:
                    item.Text = researchPoint.CurrentRP.ToNumericString(2);
                    break;
                case ResearchColumn.PointsPerDay:
                    item.Text = researchPoint.PointsPerDay.ToNumericString(2);
                    break;
                case ResearchColumn.StartDate:
                    item.Text = $"{researchPoint.StartDate.ToLocalTime()}";
                    break;
                case ResearchColumn.Location:
                    item.Text = outpost != null
                        ? outpost.FullLocation
                        : researchPoint.Station.FullLocation;
                    break;
                case ResearchColumn.Region:
                    item.Text = researchPoint.Station.SolarSystem.Constellation.Region.Name;
                    break;
                case ResearchColumn.SolarSystem:
                    item.Text = researchPoint.Station.SolarSystem.Name;
                    item.ForeColor = researchPoint.Station.SolarSystem.SecurityLevelColor;
                    break;
                case ResearchColumn.Station:
                    item.Text = outpost != null
                        ? outpost.FullName
                        : researchPoint.Station.Name;
                    break;
                case ResearchColumn.Quality:
                    break;
                default:
                    throw new NotImplementedException();
            }
        }
        /// <summary>
        /// Creates the list view sub items.
        /// </summary>
        /// <param name="researchPoint">The research point.</param>
        /// <param name="item">The item.</param>
        private ListViewItem CreateSubItems(ResearchPoint researchPoint, ListViewItem item)
        {
            // Add enough subitems to match the number of columns
            while (item.SubItems.Count < lvResearchPoints.Columns.Count + 1)
            {
                item.SubItems.Add(String.Empty);
            }

            // Creates the subitems
            for (int i = 0; i < lvResearchPoints.Columns.Count; i++)
            {
                SetColumn(researchPoint, item.SubItems[i], (ResearchColumn)lvResearchPoints.Columns[i].Tag);
            }

            return item;
        }