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; }