public Engine(string tessDataPath, ItemRepository itemRepository, MarketObservationRepository marketObservationRepository)
 {
     _imageAnalyzer  = new ImageAnalyzer(tessDataPath);
     _itemRepository = itemRepository;
     _marketObservationRepository = marketObservationRepository;
     Operations = new ReadOnlyObservableCollection <string>(_operations);
     ScreenCapture.Use4kHack = false;
 }
Example #2
0
 public ItemMerger(ItemRepository itemRepo, MarketObservationRepository marketObservationRepo,
                   RecipeRepository recipeRepo,
                   BasicShoppingListRepository shoppingListRepo,
                   ProcessingObservationRepository processingObservationRepo)
 {
     _itemRepository = itemRepo;
     _marketObservationRepository = marketObservationRepo;
     _recipeRepository            = recipeRepo;
     _basicShoppingListRepository = shoppingListRepo;
     _recipeMerger = new RecipeMerger(recipeRepo, processingObservationRepo);
 }
        public static void ImportMarket()
        {
            var    path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "market import.csv");
            string obs;

            using (var sr = new StreamReader(path))
                obs = sr.ReadToEnd();

            using (var repo = new ItemRepository())
            {
                var parser = new MarketObservationParser(new MarketObservationParserSettings(), repo, obs);
                using (var mRepo = new MarketObservationRepository())
                {
                    mRepo.Begin();
                    foreach (var o in parser.Observations)
                    {
                        mRepo.Save(o);
                    }
                    mRepo.End();
                }
            }
        }
Example #4
0
        static void TestEngine()
        {
            var output = new DirectoryInfo(_engineOutput);

            if (!output.Exists)
            {
                output.Create();
            }

            var log = new FileInfo(_engineLog);

            if (!log.Exists)
            {
                log.Create().Dispose();
            }

            int unitCount = 0;

            using (var itemRepo = new ItemRepository())
            {
                using (var marketRepo = new MarketObservationRepository())
                {
                    var engine = new Engine(_tessData, itemRepo, marketRepo);
                    engine.UIScale = 1.7;
                    engine.LogObservationsToFile      = false;
                    engine.ObservationLogFile         = _engineLog;
                    engine.SaveScreenshots            = false;
                    engine.ScreenshotDirectory        = _engineOutput;
                    engine.SaveDecomposedImages       = false;
                    engine.DecomposedImageDirectory   = _engineOutput;
                    engine.MinimumConfidence          = .7;
                    engine.SaveObservationsToDatabase = false;

                    engine.RequireMarketPrice = true;

                    Console.WriteLine("Press a key to snap a screenshot.");
                    while (true)
                    {
                        Console.ReadKey();
                        Console.WriteLine("Snap");
                        engine.ScreenshotAndProcess(true);
                        Console.WriteLine("Done");
                    }



                    Console.WriteLine("Press any key to start auto snapping.");
                    Console.ReadKey();
                    engine.StartAutoSnapping(1000);
                    Console.WriteLine("Press the E key to stop autosnapping.");

                    while (true)
                    {
                        var key = Console.ReadKey();
                        if (key.Key == ConsoleKey.E)
                        {
                            var workers = engine.StopAutoSnapping();
                            break;
                        }
                    }



                    //var unit = engine.ScreenshotAndProcess();
                    //unit.Complete += (sender, args) => unitCount--;
                    //unit.Start();
                    //unitCount++;


                    //var imageDirectory = new DirectoryInfo(_engineImages);

                    //foreach (var img in imageDirectory.EnumerateFiles())
                    //{
                    //    unitCount++;
                    //    var bmp = (Bitmap) Image.FromFile(img.FullName);
                    //    var unit = engine.ProcessImage(bmp, false);
                    //    unit.Complete += (sender, args) => unitCount--;
                    //    unit.Start();
                    //}
                }
            }

            while (unitCount > 0)
            {
                Thread.Sleep(10);
            }

            Console.WriteLine("Complete");
        }