public ChatRivenBot(string launcherFullPath, IMouse mouseMover, IScreenStateHandler screenStateHandler, IGameCapture gameCapture, ObsSettings obsSettings, string password, IKeyboard keyboard, IChatParser chatParser, IDataSender dataSender, IRivenCleaner rivenCleaner, IRivenParserFactory rivenParserFactory, RedTextParser redTextParser) { _launcherPath = launcherFullPath; _mouse = mouseMover; _screenStateHandler = screenStateHandler; _gameCapture = gameCapture; _obsSettings = obsSettings; _password = password; _keyboard = keyboard; _chatParser = chatParser; _dataSender = dataSender; _rivenCleaner = rivenCleaner; _rivenParserFactory = rivenParserFactory; _redTextParser = redTextParser; if (_obsSettings != null) { ConnectToObs(); } }
public ImageViewerControlViewModel(IGameCapture capture) { m_capture = capture; Frame = m_capture.ObserveProperty(x => x.Frame).ToReactiveProperty().AddTo(Disposables); m_capture.Start(); }
public ChatWatcher(IDataSender dataSender, IChatParser chatParser, IGameCapture gameCapture, IMouseMover mouseMover, IRivenCleaner rivenCleaner, IRivenParser rivenParser, IScreenStateHandler screenStateHandler) { this._dataSender = dataSender; this._chatParser = chatParser; this._gameCapture = gameCapture; this._mouseMover = mouseMover; this._rivenCleaner = rivenCleaner; this._rivenParser = rivenParser; this._screenStateHandler = screenStateHandler; Console.SetWindowSize(1, 1); Console.SetBufferSize(147, 10); Console.SetWindowSize(147, 9); Console.CursorVisible = false; Console.Clear(); UpdateUI(); }
public MacroPool(ISwitchClock clock, ISwitchController controller, ICancellationRequest cancelRequest, IGameCapture gameCapture) { var param = new MacroParameter() { Clock = clock, Controller = controller, CancellationRequest = cancelRequest, GameCapture = gameCapture, }; Add <DrawLotoIdMacro>(param); Add <BattleMaxRaidMacro>(param); Add <GainWattsMacro>(param); //Add<SeekPokemonMacro>(param); Add <RapidTimeTravelMacro>(param); Add <ThreeDaysTravelMacro>(param); Add <MashAButtonMacro>(param); }
public MacroPanelViewModel(IMacroService macro, IMacroPool pool, ICanceler canceler, IWorkSituation work, ISwitchClock clock, ISerialPortService serialPort, ICancellationRequest cancelRequest, IGameCapture gameCapture) { m_macro = macro; m_macroCanceler = canceler; m_macroPool = pool; IsConnected = serialPort.ObserveProperty(p => p.IsOpen).ToReactiveProperty().AddTo(Disposables); IsBusy = work.ObserveProperty(w => w.IsBusy).ToReactiveProperty().AddTo(Disposables); Clock = clock.ToReactivePropertyAsSynchronized(m => m.DateTime).AddTo(Disposables); Clock.Value = DateTime.Now; DrawLotoIdCommand = CreateExecuteMacroCommand <DrawLotoIdMacro>(); GainWattsCommand = CreateExecuteMacroCommand <GainWattsMacro>(); BattleMaxRaidCommand = CreateExecuteMacroCommand <BattleMaxRaidMacro>(); //SeekPokemonCommand = CreateExecuteMacroCommand<SeekPokemonMacro>(); RapidTimeTravelCommand = CreateExecuteMacroCommand <RapidTimeTravelMacro>(); RapidTimeTravelDays = clock.ToReactivePropertyAsSynchronized(m => m.DaysCount).AddTo(Disposables); RapidTimeTravelDays.Value = 0; ThreeDaysTravelCommand = CreateExecuteMacroCommand <ThreeDaysTravelMacro>(); CanGoNextThreeDays = (m_macroPool.Get <ThreeDaysTravelMacro>() as ThreeDaysTravelMacro).ObserveProperty(m => m.CanGoNext).ToReactiveProperty().AddTo(Disposables); ThreeDaysTravelNextCommand = CanGoNextThreeDays.ToReactiveCommand().AddTo(Disposables); ThreeDaysTravelNextCommand.Subscribe(() => { using (var wait = new EventWaitHandle(false, EventResetMode.ManualReset, "WAIT_NEXT_3_DAYS")) { wait.Set(); } }); MashAButtonCommand = CreateExecuteMacroCommand <MashAButtonMacro>(); IsCanceling = cancelRequest.ObserveProperty(c => c.IsCancellationRequested).ToReactiveProperty().AddTo(Disposables); CancelCommand = new[] { IsBusy, IsCanceling }.CombineLatest(x => x[0] && !x[1]).ToReactiveCommand().AddTo(Disposables); CancelCommand.Subscribe(m_macroCanceler.Cancel); SaveImageCommand = new ReactiveCommand().AddTo(Disposables); SaveImageCommand.Subscribe(() => gameCapture.SaveFrame(null)); }