private void _onSearchSuccess(SpanshSystemsResult obj) { Console.WriteLine("search success:"); foreach (SpanshSystem system in obj.results) { Console.WriteLine("- {0}Ly _ {1} ({2})", system.distance, system.name, system.allegiance); } }
private void _onSystemsReceived(SpanshSystemsResult obj) { m_loading.isVisible = false; displayMessage("Search Succedded. " + obj.count + " systems found", EDColors.GREEN); for (int i = 0; i < m_results.Length; i++) { if (i < obj.results.Length) { m_results[i].isVisible = true; m_results[i].SetDatas(obj, i - 1); } else { m_results[i].isVisible = false; } } MoveCursorToFirst(); }
/// <summary> /// /// </summary> /// <param name="result"></param> /// <param name="index">if (index == -1) display title</param> public void SetDatas(SpanshSystemsResult result, int index = -1) { m_background.width = width; m_background.height = height; isSelectable = index != -1; isEnable = index != -1; Selected = false; LastSystem = null; LastBody = null; List <string> fields = new List <string>(); if (result.search.filters.primary_economy != null) { fields.Add(nameof(result.search.filters.primary_economy)); } if (result.search.filters.state != null) { fields.Add(nameof(result.search.filters.state)); } if (result.search.filters.government != null) { fields.Add(nameof(result.search.filters.government)); } if (result.search.filters.population != null) { fields.Add(nameof(result.search.filters.population)); } if (result.search.filters.power != null) { fields.Add(nameof(result.search.filters.power)); } if (result.search.filters.power_state != null) { fields.Add(nameof(result.search.filters.power_state)); } if (result.search.filters.secondary_economy != null) { fields.Add(nameof(result.search.filters.secondary_economy)); } //Always display ! fields.Add(nameof(result.search.filters.allegiance)); fields.Add(nameof(result.search.filters.security)); //Additionnal fields if (fields.Count < 10 && !fields.Contains(nameof(result.search.filters.primary_economy))) { fields.Add(nameof(result.search.filters.primary_economy)); } if (fields.Count < 10 && !fields.Contains(nameof(result.search.filters.state))) { fields.Add(nameof(result.search.filters.state)); } if (fields.Count < 10 && !fields.Contains(nameof(result.search.filters.government))) { fields.Add(nameof(result.search.filters.government)); } if (fields.Count < 10 && !fields.Contains(nameof(result.search.filters.population))) { fields.Add(nameof(result.search.filters.population)); } if (fields.Count < 10 && !fields.Contains(nameof(result.search.filters.power))) { fields.Add(nameof(result.search.filters.power)); } if (fields.Count < 10 && !fields.Contains(nameof(result.search.filters.power_state))) { fields.Add(nameof(result.search.filters.power_state)); } //Visibilitys for (int i = 2; i < m_props.Length - 2; i++) { if (i - 2 < fields.Count) { m_props[i].isVisible = true; m_separators[i].isVisible = true; } else { m_props[i].isVisible = false; m_separators[i].isVisible = false; } } if (index == -1) { m_props[0].text = "Dist."; m_props[1].text = "System name"; for (int i = 2; i < m_props.Length - 2; i++) { if (i - 2 < fields.Count) { m_props[i].text = SpanshFilterSystems.getNameOf(fields[i - 2]); } } } else if (index < result.count) { LastSystem = result.results[index]; m_props[0].text = Math.Round(result.results[index].distance, 1).ToString(); m_props[1].text = result.results[index].name; for (int i = 2; i < m_props.Length - 2; i++) { if (i - 2 < fields.Count) { switch (fields[i - 2]) { case nameof(SpanshSearchSystems.filters.allegiance): m_props[i].text = result.results[index].allegiance; break; case nameof(SpanshSearchSystems.filters.government): m_props[i].text = result.results[index].government; break; case nameof(SpanshSearchSystems.filters.population): m_props[i].text = result.results[index].population.ToString(); break; case nameof(SpanshSearchSystems.filters.power): m_props[i].text = ""; if (result.results[index].power != null) { foreach (string p in result.results[index].power) { m_props[i].text += p + ", "; } m_props[i].text = m_props[i].text.Substring(0, m_props[i].text.Length - 2); } break; case nameof(SpanshSearchSystems.filters.power_state): m_props[i].text = result.results[index].power_state; break; case nameof(SpanshSearchSystems.filters.primary_economy): m_props[i].text = result.results[index].primary_economy; break; case nameof(SpanshSearchSystems.filters.secondary_economy): m_props[i].text = result.results[index].secondary_economy; break; case nameof(SpanshSearchSystems.filters.security): m_props[i].text = result.results[index].security; break; case nameof(SpanshSearchSystems.filters.state): m_props[i].text = result.results[index].state; break; } } } } m_registerWidth = true; m_background.Color = isEnable ? Color.Orange : Color.White; }