public Engine(string tessDataPath, ItemRepository itemRepository, MarketObservationRepository marketObservationRepository) { _imageAnalyzer = new ImageAnalyzer(tessDataPath); _itemRepository = itemRepository; _marketObservationRepository = marketObservationRepository; Operations = new ReadOnlyObservableCollection <string>(_operations); ScreenCapture.Use4kHack = false; }
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(); } } }
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"); }