コード例 #1
0
        private void onSearch(object sender, EventArgs e)
        {
            SpanshSearchSystems _search = CompileSearch();

            Console.WriteLine(_search);

            m_UiSearch.changeState(UiSearch2.State.SearchResult);
            m_UiSearch.UiSearchResult.processSearch(new CustomSearch()
            {
                SearchName = "Quick search", SearchSystem = _search
            }, UiSearch2.State.Create);
        }
コード例 #2
0
        private void onSave(object sender, EventArgs e)
        {
            SpanshSearchSystems _search = CompileSearch();

            Bookmarks.Save(new CustomSearch()
            {
                SearchName = "Custom search", SearchSystem = _search
            });
            m_UiSearch.UiBookmarks.refreshCards();
            m_UiSearch.changeState(UiSearch2.State.Bookmarks);
            Reset();
        }
コード例 #3
0
        private SpanshSearchSystems CompileSearch()
        {
            SpanshSearchSystems _search = new SpanshSearchSystems();

            _search.filters                      = new SpanshFilterSystems();
            _search.reference_system             = EDDatas.Instance.getCurrentSystem().name;
            _search.filters.distance_from_coords = new SpanshValue <int?>(0, SearchEngine.DefaultSystemRange);

            _search.sort = new SpanshSort[] { new SpanshSort()
                                              {
                                                  distance_from_coords = new SpanshSortValue(true)
                                              } };

            List <string> allegiances   = new List <string>();
            List <string> economies     = new List <string>();
            List <string> governments   = new List <string>();
            List <string> states        = new List <string>();
            List <string> powers        = new List <string>();
            List <string> powers_states = new List <string>();
            List <string> securities    = new List <string>();

            foreach (NxItem item in Items)
            {
                if (item is NxCheckbox)
                {
                    NxCheckbox checkBox = item as NxCheckbox;
                    if (checkBox.Checked)
                    {
                        switch (checkBox.Obj)
                        {
                        case "permitOptions": break;

                        case nameof(SpanshDatas.allegiance):
                            allegiances.Add(checkBox.Label);
                            break;

                        case nameof(SpanshDatas.economy):
                            economies.Add(checkBox.Label);
                            break;

                        case nameof(SpanshDatas.government):
                            governments.Add(checkBox.Label);
                            break;

                        case nameof(SpanshDatas.power):
                            powers.Add(checkBox.Label);
                            break;

                        case nameof(SpanshDatas.power_state):
                            powers_states.Add(checkBox.Label);
                            break;

                        case nameof(SpanshDatas.state):
                            states.Add(checkBox.Label);
                            break;

                        case nameof(SpanshDatas.security):
                            securities.Add(checkBox.Label);
                            break;

                        case "populationOptions":
                            if (checkBox.Label == "Unpopulated")
                            {
                                _search.filters.population = new SpanshValue <long?>("==", 0);
                            }
                            else if (checkBox.Label == "Populated")
                            {
                                _search.filters.population = new SpanshValue <long?>(">", 0);
                            }
                            break;
                        }
                    }
                }
            }

            if (allegiances.Count > 0)
            {
                _search.filters.allegiance = new SpanshValue <string[]>(allegiances.ToArray());
            }
            if (economies.Count > 0)
            {
                _search.filters.primary_economy = new SpanshValue <string[]>(economies.ToArray());
            }
            if (governments.Count > 0)
            {
                _search.filters.government = new SpanshValue <string[]>(governments.ToArray());
            }
            if (powers.Count > 0)
            {
                _search.filters.power = new SpanshValue <string[]>(powers.ToArray());
            }
            if (powers_states.Count > 0)
            {
                _search.filters.power_state = new SpanshValue <string[]>(powers_states.ToArray());
            }
            if (states.Count > 0)
            {
                _search.filters.state = new SpanshValue <string[]>(states.ToArray());
            }
            if (securities.Count > 0)
            {
                _search.filters.security = new SpanshValue <string[]>(securities.ToArray());
            }

            return(_search);
        }