示例#1
0
        private bool FilterProjectilesData(object item)
        {
            if (!Weapons)
            {
                return(false);
            }

            UIModelProjectile projectile = item as UIModelProjectile;

            if ((Size_S && projectile.Size == "S") || (m_Size_M && projectile.Size == "M") || (m_Size_L && projectile.Size == "L") || (m_Size_XL && projectile.Size == "XL") || (m_Size_Other && (projectile.Size != "S" && projectile.Size != "M" && projectile.Size != "L" && projectile.Size != "XL")))
            {
                List <string> searchArray = new List <string>();
                List <string> searchArrayExceptNegatives = new List <string>();
                if (this.SearchText != null && this.SearchText.Length > 0)
                {
                    searchArray = this.SearchText.Split(' ').ToList();
                    searchArrayExceptNegatives = searchArray.Where(x => !x.StartsWith("-")).ToList();
                }
                // filter entered
                if (searchArray.Count > 0)
                {
                    bool found = false;
                    foreach (string searchString in searchArray)
                    {
                        if (searchString.Length > 0)
                        {
                            if (searchString.StartsWith("-"))
                            {
                                if (projectile.Name.ToUpper().Contains(searchString.Replace("-", "").ToUpper()))
                                {
                                    return(false);
                                }
                            }
                            if (searchArrayExceptNegatives.Count == 0 || projectile.Name.ToUpper().Contains(searchString.ToUpper()))
                            {
                                found = true;
                            }
                        }
                    }
                    return(found);
                }
                return(true);
            }
            return(false);
        }
示例#2
0
        private bool FilterSpecificProjectile(object item)
        {
            UIModelProjectile projectile  = item as UIModelProjectile;
            List <string>     searchArray = new List <string>();

            bool found = false;

            if (m_SpecificWeaponFilter.Length > 0)
            {
                if (projectile.Name.ToUpper().Contains(m_SpecificWeaponFilter.ToUpper()))
                {
                    DoubleClickedWeapon = "";
                    found = true;
                }
                DoubleClickedWeapon = "";
            }
            else
            {
                return(true);
            }
            return(found);
        }
示例#3
0
        public void ReadAllProjectiles(List <FileInfo> xmlProjectilesList)
        {
            string folderPath = this.UIModel.Path.Replace(@"\\", @"\");

            if (!Directory.Exists(folderPath + this.PathToProjectiles))
            {
                MessageBox.Show("No valid weapons found.", "No data found.");
            }

            foreach (var item in xmlProjectilesList)
            {
                UIModelProjectile projectile = m_XmlExtractor.ReadSingleProjectile(item);
                if (projectile != null && projectile.Name.Length > 1)
                {
                    this.UIModel.UIModelProjectiles.Add(projectile);
                }
            }
            this.UIModel.UIModelProjectilesVanilla.Clear();
            foreach (var item in this.UIModel.UIModelProjectiles)
            {
                this.UIModel.UIModelProjectilesVanilla.Add(item.Copy());
            }
        }
示例#4
0
        private bool FilterWaresData(object item)
        {
            UIModelWare ware = item as UIModelWare;

            if (Wares)
            {
                if ((Size_S && ware.Size == "S") || (m_Size_M && ware.Size == "M") || (m_Size_L && ware.Size == "L") || (m_Size_XL && ware.Size == "XL") || (m_Size_Other && (ware.Size != "S" && ware.Size != "M" && ware.Size != "L" && ware.Size != "XL")))
                {
                    List <string> searchArray = new List <string>();
                    List <string> searchArrayExceptNegatives = new List <string>();
                    if (this.SearchText != null && this.SearchText.Length > 0)
                    {
                        searchArray = this.SearchText.Split(' ').ToList();
                        searchArrayExceptNegatives = searchArray.Where(x => !x.StartsWith("-")).ToList();
                    }
                    // filter entered
                    if (searchArray.Count > 0)
                    {
                        bool found = false;
                        foreach (string searchString in searchArray)
                        {
                            if (searchString.Length > 0)
                            {
                                if (searchString.StartsWith("-"))
                                {
                                    if (ware.Name.ToUpper().Contains(searchString.Replace("-", "").ToUpper()))
                                    {
                                        return(false);
                                    }
                                }
                                if (searchArrayExceptNegatives.Count == 0 || ware.Name.ToUpper().Contains(searchString.ToUpper()))
                                {
                                    found = true;
                                }
                            }
                        }
                        return(found);
                    }
                    return(true);
                }
                return(false);
            }
            else
            {
                bool found = false;

                foreach (var s in m_ShipsDataView)
                {
                    UIModelShip ship = s as UIModelShip;
                    if (ship != null && ship.Name.Contains(ware.Name))
                    {
                        return(true);
                    }
                }
                foreach (var e in m_EnginesDataView)
                {
                    UIModelEngine engine = e as UIModelEngine;
                    if (engine != null && engine.Name.Contains(ware.Name))
                    {
                        return(true);
                    }
                }
                foreach (var s in m_ShieldsDataView)
                {
                    UIModelShield shield = s as UIModelShield;
                    if (shield != null && shield.Name.Contains(ware.Name))
                    {
                        return(true);
                    }
                }
                foreach (var p in m_ProjectilesDataView)
                {
                    UIModelProjectile weapon = p as UIModelProjectile;
                    if (weapon != null && weapon.Name.Contains(ware.Name))
                    {
                        return(true);
                    }
                }
                foreach (var w in m_WeaponsDataView)
                {
                    UIModelWeapon weapon = w as UIModelWeapon;
                    if (weapon != null && weapon.Name.Contains(ware.Name))
                    {
                        return(true);
                    }
                }
                foreach (var w in m_ProjectilesDataView)
                {
                    UIModelWeapon weapon = w as UIModelWeapon;
                    if (weapon != null && weapon.Name.Contains(ware.Name))
                    {
                        return(true);
                    }
                }
                foreach (var m in m_MissilesDataView)
                {
                    UIModelMissile missile = m as UIModelMissile;
                    if (missile != null && missile.Name.Contains(ware.Name))
                    {
                        return(true);
                    }
                }
                return(found);
            }
        }