public MainWindow() { InitializeComponent(); ((Logger)FishingBot.logger.Logger).AddAppender(this); this.DataContext = LogEntries = new ObservableCollection <LogEntry>(); this.pixelClassifier = new PixelClassifier(); pixelClassifier.SetConfiguration(WowProcess.IsWowClassic()); this.bobberFinder = new SearchBobberFinder(pixelClassifier); var imageProvider = bobberFinder as IImageProvider; if (imageProvider != null) { imageProvider.BitmapEvent += ImageProvider_BitmapEvent; } this.biteWatcher = new PositionBiteWatcher(strikeValue); this.WindowSizeChangedTimer = new Timer { AutoReset = false, Interval = 100 }; this.WindowSizeChangedTimer.Elapsed += SizeChangedTimer_Elapsed; this.CardGrid.SizeChanged += MainWindow_SizeChanged; this.Closing += (s, e) => botThread?.Abort(); this.KeyChooser.CastKeyChanged += (s, e) => { this.Settings.Focus(); this.bot?.SetCastKey(this.KeyChooser.CastKey); }; }