Ejemplo n.º 1
0
        private void DisplayItemList(List <FFXIVSearchItem> iItems)
        {
            VPThreading.ClearItems(_resultListView);
            _lastDisplayedItems = iItems;

            Service_Misc.LogText(_logTextBox, "Updating list...");
            foreach (FFXIVSearchItem item in iItems)
            {
                if (null == item)
                {
                    continue;
                }

                ListViewItem listViewItem = new ListViewItem();
                listViewItem.Tag  = item;
                listViewItem.Text = item.Quantity + "x " + item.Name;
                listViewItem.SubItems.Add(item.Class + " lvl" + item.Level);
                listViewItem.ToolTipText = item.Class + " lvl" + item.Level;

                VPThreading.AddItem(_resultListView, listViewItem);
            }
            VPThreading.SetText(_nbResultItemLabel, iItems.Count + " Items found");

            UpdateResultPictures();
        }
Ejemplo n.º 2
0
        private void AnalyzeGridThread()
        {
            VPThreading.ClearItems(_gridListView);

            DirectoryInfo exeDirectory     = new DirectoryInfo(Service_Misc.GetExecutionPath());
            DirectoryInfo cacheDirectory   = new DirectoryInfo(Path.Combine(exeDirectory.FullName, "CacheGrid"));
            DirectoryInfo analyzeDirectory = new DirectoryInfo(Path.Combine(exeDirectory.FullName, "DownloadedGrids"));

            if (!analyzeDirectory.Exists)
            {
                DownloadMissingItemGrids();
            }
            if (!analyzeDirectory.Exists)
            {
                return;
            }
            Dictionary <string, double> dictionaryClosestAetherytes = new Dictionary <string, double>();

            FileInfo[] files = analyzeDirectory.GetFiles();
            int        index = 0;

            foreach (FileInfo file in files)
            {
                index++;
                double percentage = (double)index / (double)files.Count() * 100.0;

                VPThreading.SetText(_progressLabel, "Analyzing Grids..." + percentage + "%");
                if (null == file)
                {
                    continue;
                }
                try
                {
                    string itemName = file.Name.Split(new string[] { " Grid---" }, StringSplitOptions.None)[0];

                    //Looking into cache directory
                    string   gridItemName  = itemName + " Grid";
                    FileInfo cacheGridFile = new FileInfo(Path.Combine(cacheDirectory.FullName, gridItemName + ".txt"));
                    if (cacheGridFile.Exists)
                    {
                        VPThreading.SetText(_progressLabel, "Item already has a grid.");
                        continue;
                    }

                    FFXIVItemGridF gridF = new FFXIVItemGridF();
                    gridF.ItemName = itemName;
                    gridF.GridFile = new FileInfo(file.FullName);
                    gridF.Analyze(ListAetherytes, ListGatheringNodes, ref dictionaryClosestAetherytes);
                    ListGridF.Add(gridF);

                    if (gridF.IsValid)
                    {
                        gridF.SaveAsGrids();
                    }

                    ListViewItem item = new ListViewItem();
                    item.Text = file.Name;
                    item.SubItems.Add(gridF.Status);
                    item.Tag = gridF;
                    VPThreading.AddItem(_gridListView, item);
                }
                catch (Exception exc)
                {
                    Console.WriteLine(exc.Message);
                }
            }
        }