/// <summary> /// Initializes a new instance of the <see cref="OutgoingOfferViewModel"/> class. /// </summary> /// <param name="tradeEvent">The trade event.</param> public OutgoingOfferViewModel(OutgoingTradeEvent tradeEvent, PoeKeyboardHelper keyboardHelper, OutgoingbarContext context) { this._event = tradeEvent; this._keyboardHelper = keyboardHelper; this._barContext = context; this.DelayToClose = 100; }
/// <summary> /// Initializes a new instance of the <see cref="TradebarViewModel" /> class. /// </summary> /// <param name="eventAggregator">The event aggregator.</param> /// <param name="clientLurker">The client lurker.</param> /// <param name="processLurker">The process lurker.</param> /// <param name="keyboardLurker">The keyboard lurker.</param> /// <param name="dockingHelper">The docking helper.</param> /// <param name="keyboardHelper">The keyboard helper.</param> /// <param name="settingsService">The settings service.</param> /// <param name="windowManager">The window manager.</param> /// <param name="soundService">The sound service.</param> /// <param name="pushBulletService">The PushBullet service.</param> public TradebarViewModel( IEventAggregator eventAggregator, ClientLurker clientLurker, ProcessLurker processLurker, KeyboardLurker keyboardLurker, DockingHelper dockingHelper, PoeKeyboardHelper keyboardHelper, SettingsService settingsService, IWindowManager windowManager, SoundService soundService, PushBulletService pushBulletService) : base(windowManager, dockingHelper, processLurker, settingsService) { this._eventAggregator = eventAggregator; this._keyboardHelper = keyboardHelper; this._soundService = soundService; this._clientLurker = clientLurker; this._pushBulletService = pushBulletService; this._keyboardLurker = keyboardLurker; this.TradeOffers = new ObservableCollection <OfferViewModel>(); this._soldOffers = new List <TradeEvent>(); this._context = new TradebarContext(this.RemoveOffer, this.AddActiveOffer, this.AddToSoldOffer, this.SetActiveOffer, this.ClearAll); this.DisplayName = "Poe Lurker"; }
/// <summary> /// Initializes a new instance of the <see cref="LifeBulbViewModel"/> class. /// </summary> /// <param name="windowManager">The window manager.</param> /// <param name="dockingHelper">The docking helper.</param> /// <param name="lurker"></param> /// <param name="settingsService"></param>H public LifeBulbViewModel(IEventAggregator eventAggregator, IWindowManager windowManager, DockingHelper dockingHelper, ClientLurker lurker, SettingsService settingsService, PoeKeyboardHelper keyboard) : base(windowManager, dockingHelper, lurker, settingsService) { this._keyboardHelper = keyboard; this._eventAggregator = eventAggregator; this._eventAggregator.Subscribe(this); }
/// <summary> /// Registers the instances. /// </summary> private void ShowOverlays(Process parentProcess) { Execute.OnUIThread(() => { this._mouseLurker = new MouseLurker(parentProcess, this._settingsService); this._mouseLurker.Newitem += this.MouseLurker_Newitem; var keyboarHelper = new PoeKeyboardHelper(parentProcess); this._currentDockingHelper = new DockingHelper(parentProcess, this._settingsService); this._clipboardLurker = new ClipboardLurker(this._settingsService, keyboarHelper); this._container.RegisterInstance(typeof(ProcessLurker), null, this._processLurker); this._container.RegisterInstance(typeof(ClientLurker), null, this._currentLurker); this._container.RegisterInstance(typeof(ClipboardLurker), null, this._clipboardLurker); this._container.RegisterInstance(typeof(DockingHelper), null, this._currentDockingHelper); this._container.RegisterInstance(typeof(PoeKeyboardHelper), null, keyboarHelper); this._incomingTradeBarOverlay = this._container.GetInstance <TradebarViewModel>(); this._outgoingTradeBarOverlay = this._container.GetInstance <OutgoingbarViewModel>(); this._lifeBulbOverlay = this._container.GetInstance <LifeBulbViewModel>(); this._manaBulbOverlay = this._container.GetInstance <ManaBulbViewModel>(); this._afkService = this._container.GetInstance <AfkService>(); this._hideoutOverlay = this._container.GetInstance <HideoutViewModel>(); this.ActivateItem(this._incomingTradeBarOverlay); this.ActivateItem(this._outgoingTradeBarOverlay); this.ActivateItem(this._lifeBulbOverlay); this.ActivateItem(this._manaBulbOverlay); this.ActivateItem(this._hideoutOverlay); }); }
/// <summary> /// Initializes a new instance of the <see cref="HideoutViewModel" /> class. /// </summary> /// <param name="windowManager">The window manager.</param> /// <param name="dockingHelper">The docking helper.</param> /// <param name="processLurker">The process lurker.</param> /// <param name="settingsService">The settings service.</param> /// <param name="keyboardHelper">The keyboard helper.</param> /// <param name="clientLurker">The client lurker.</param> public HideoutViewModel(IWindowManager windowManager, DockingHelper dockingHelper, ProcessLurker processLurker, SettingsService settingsService, PoeKeyboardHelper keyboardHelper, ClientLurker clientLurker) : base(windowManager, dockingHelper, processLurker, settingsService) { this._keyboardHelper = keyboardHelper; this._clientLurker = clientLurker; this._clientLurker.LocationChanged += this.ClientLurker_LocationChanged; }
/// <summary> /// Registers the instances. /// </summary> private void ShowOverlays(IntPtr windowHandle) { Execute.OnUIThread(() => { var keyboarHelper = new PoeKeyboardHelper(windowHandle); this._currentDockingHelper = new DockingHelper(windowHandle, this._settingsService); this._clipboardLurker = new ClipboardLurker(this._settingsService, keyboarHelper); this._clipboardLurker.Newitem += this.ClipboardLurker_Newitem; this._container.RegisterInstance(typeof(ClientLurker), null, this._currentLurker); this._container.RegisterInstance(typeof(ClipboardLurker), null, this._clipboardLurker); this._container.RegisterInstance(typeof(DockingHelper), null, this._currentDockingHelper); this._container.RegisterInstance(typeof(PoeKeyboardHelper), null, keyboarHelper); this._incomingTradeBarOverlay = this._container.GetInstance <TradebarViewModel>(); this._outgoingTradeBarOverlay = this._container.GetInstance <OutgoingbarViewModel>(); this._lifeBulbOverlay = this._container.GetInstance <LifeBulbViewModel>(); this._manaBulbOverlay = this._container.GetInstance <ManaBulbViewModel>(); this.ActivateItem(this._incomingTradeBarOverlay); this.ActivateItem(this._outgoingTradeBarOverlay); this.ActivateItem(this._lifeBulbOverlay); this.ActivateItem(this._manaBulbOverlay); }); }
/// <summary> /// Initializes a new instance of the <see cref="HideoutViewModel" /> class. /// </summary> /// <param name="windowManager">The window manager.</param> /// <param name="dockingHelper">The docking helper.</param> /// <param name="processLurker">The process lurker.</param> /// <param name="settingsService">The settings service.</param> /// <param name="keyboardHelper">The keyboard helper.</param> /// <param name="clientLurker">The client lurker.</param> public HideoutViewModel(IWindowManager windowManager, DockingHelper dockingHelper, ProcessLurker processLurker, SettingsService settingsService, PoeKeyboardHelper keyboardHelper, ClientLurker clientLurker) : base(windowManager, dockingHelper, processLurker, settingsService) { this._keyboardHelper = keyboardHelper; this.IsVisible = true; this.GuildVisible = this.SettingsService.GuildHideoutEnabled; }
/// <summary> /// Initializes a new instance of the <see cref="TradeOfferViewModel"/> class. /// </summary> /// <param name="tradeEvent">The trade event.</param> public OfferViewModel(TradeEvent tradeEvent, PoeKeyboardHelper keyboardHelper, TradebarContext tradebarContext, SettingsService settingsService) { this._tradeEvent = tradeEvent; this._keyboardHelper = keyboardHelper; this._tradebarContext = tradebarContext; this._settingsService = settingsService; this._settingsService.OnSave += this.SettingsService_OnSave; }
/// <summary> /// Initializes a new instance of the <see cref="OutgoingOfferViewModel" /> class. /// </summary> /// <param name="tradeEvent">The trade event.</param> /// <param name="keyboardHelper">The keyboard helper.</param> /// <param name="context">The context.</param> /// <param name="dockingHelper">The docking helper.</param> public OutgoingOfferViewModel(OutgoingTradeEvent tradeEvent, PoeKeyboardHelper keyboardHelper, OutgoingbarContext context, DockingHelper dockingHelper) { this._event = tradeEvent; this._keyboardHelper = keyboardHelper; this._barContext = context; this.DelayToClose = 100; this._dockingHelper = dockingHelper; this.PriceValue = tradeEvent.Price.CalculateValue(); }
/// <summary> /// Initializes a new instance of the <see cref="OfferViewModel" /> class. /// </summary> /// <param name="tradeEvent">The trade event.</param> /// <param name="keyboardHelper">The keyboard helper.</param> /// <param name="tradebarContext">The tradebar context.</param> /// <param name="settingsService">The settings service.</param> /// <param name="sold">if set to <c>true</c> [sold].</param> /// <param name="dockingHelper">The docking helper.</param> public OfferViewModel(TradeEvent tradeEvent, PoeKeyboardHelper keyboardHelper, TradebarContext tradebarContext, SettingsService settingsService, bool sold, DockingHelper dockingHelper) { this._tradeEvent = tradeEvent; this._keyboardHelper = keyboardHelper; this._tradebarContext = tradebarContext; this._settingsService = settingsService; this._alreadySold = sold; this._dockingHelper = dockingHelper; this._settingsService.OnSave += this.SettingsService_OnSave; }
/// <summary> /// Initializes a new instance of the <see cref="KeyboardLurker" /> class. /// </summary> /// <param name="processId">The process identifier.</param> /// <param name="settingsService">The settings service.</param> /// <param name="hotkeyService">The key code service.</param> /// <param name="keyboardHelper">The keyboard helper.</param> public KeyboardLurker(int processId, SettingsService settingsService, HotkeyService hotkeyService, PoeKeyboardHelper keyboardHelper) { this._processId = processId; this._settingsService = settingsService; this._hotkeyService = hotkeyService; this._keyboardHelper = keyboardHelper; this._itemParser = new ItemParser(); this._itemParser.CheckPledgeStatus(); this._settingsService.OnSave += this.SettingsService_OnSave; this._keyboardHook = new KeyboardHook(this._processId); }
/// <summary> /// Initializes a new instance of the <see cref="ClipboardLurker"/> class. /// </summary> public ClipboardLurker(SettingsService settingsService, PoeKeyboardHelper keyboardHelper) { this.ClearClipboard(); this._keyboardHelper = keyboardHelper; this._simulator = new InputSimulator(); this._clipboardMonitor = new SharpClipboard(); this._settingsService = settingsService; this._settingsService.OnSave += this.SettingsService_OnSave; this._clipboardMonitor.ClipboardChanged += this.ClipboardMonitor_ClipboardChanged; this._itemParser.CheckPledgeStatus(); this.StartWatcher(); }
/// <summary> /// Initializes a new instance of the <see cref="KeyboardLurker" /> class. /// </summary> /// <param name="processId">The process identifier.</param> /// <param name="settingsService">The settings service.</param> /// <param name="keyboardHelper">The keyboard helper.</param> public KeyboardLurker(int processId, SettingsService settingsService, PoeKeyboardHelper keyboardHelper) { this._settingsService = settingsService; this._keyboardHelper = keyboardHelper; this._itemParser = new ItemParser(); this._keyboardHook = new KeyboardHook(processId); this._keyboardHook.AddHandler('F', Modifiers.Alt, this.SearchItem); this._keyboardHook.AddHandler('R', Modifiers.Control, this.RemainingMonsters); this._keyboardHook.AddHandler(DeleteKeyCode, this.DeleteItem); this._itemParser.CheckPledgeStatus(); this._keyboardHook.InstallAsync(); }
/// <summary> /// Registers the instances. /// </summary> private void DisplayRoot(Process process) { Execute.OnUIThread(() => { var dockingHelper = new DockingHelper(process); var keyboarHelper = new PoeKeyboardHelper(process); this._container.RegisterInstance(typeof(ClientLurker), null, this._currentLurker); this._container.RegisterInstance(typeof(DockingHelper), null, dockingHelper); this._container.RegisterInstance(typeof(PoeKeyboardHelper), null, keyboarHelper); this._tradeBarOverlay = this._container.GetInstance <TradebarViewModel>(); this._windowManager.ShowWindow(this._tradeBarOverlay); }); }
/// <summary> /// Initializes a new instance of the <see cref="OutgoingbarViewModel" /> class. /// </summary> /// <param name="eventAggregator">The event aggregator.</param> /// <param name="clipboardLurker">The clipboard lurker.</param> /// <param name="clientLurker">The client lurker.</param> /// <param name="processLurker">The process lurker.</param> /// <param name="dockingHelper">The docking helper.</param> /// <param name="keyboardHelper">The keyboard helper.</param> /// <param name="settingsService">The settings service.</param> /// <param name="windowManager">The window manager.</param> /// <param name="playerService">The player service.</param> public OutgoingbarViewModel(IEventAggregator eventAggregator, ClipboardLurker clipboardLurker, ClientLurker clientLurker, ProcessLurker processLurker, DockingHelper dockingHelper, PoeKeyboardHelper keyboardHelper, SettingsService settingsService, IWindowManager windowManager, PlayerService playerService) : base(windowManager, dockingHelper, processLurker, settingsService) { this.Offers = new ObservableCollection <OutgoingOfferViewModel>(); this.FilteredOffers = new ObservableCollection <OutgoingOfferViewModel>(); this._timer = new Timer(50); this._timer.Elapsed += this.Timer_Elapsed; this._keyboardHelper = keyboardHelper; this._clipboardLurker = clipboardLurker; this._eventAggregator = eventAggregator; this._clientLurker = clientLurker; this._playerService = playerService; this.Offers.CollectionChanged += this.Offers_CollectionChanged; this._clipboardLurker.NewOffer += this.ClipboardLurker_NewOffer; }
/// <summary> /// Initializes a new instance of the <see cref="TradeBarViewModal"/> class. /// </summary> /// <param name="lurker">The lurker.</param> /// <param name="dockingHelper">The docking helper.</param> /// <param name="keyboardHelper">The keyboard helper.</param> public TradebarViewModel(IEventAggregator eventAggregator, ClientLurker lurker, DockingHelper dockingHelper, PoeKeyboardHelper keyboardHelper, SettingsService settingsService, IWindowManager windowManager) : base(windowManager, dockingHelper, lurker, settingsService) { this._eventAggregator = eventAggregator; this._lurker = lurker; this._keyboardHelper = keyboardHelper; this._settingsService = settingsService; this.TradeOffers = new ObservableCollection <OfferViewModel>(); this._lurker.IncomingOffer += this.Lurker_IncomingOffer; this._lurker.TradeAccepted += this.Lurker_TradeAccepted; this._lurker.PlayerJoined += this.Lurker_PlayerJoined; this._lurker.PlayerLeft += this.Lurker_PlayerLeft; this._context = new TradebarContext(this.RemoveOffer, this.AddActiveOffer, this.SetActiveOffer); this.DisplayName = "Poe Lurker"; }
/// <summary> /// Initializes a new instance of the <see cref="OutgoingbarViewModel"/> class. /// </summary> /// <param name="lurker">The lurker.</param> /// <param name="windowManager">The window manager.</param> public OutgoingbarViewModel(IEventAggregator eventAggregator, ClipboardLurker clipboardLurker, ClientLurker clientLurker, DockingHelper dockingHelper, PoeKeyboardHelper keyboardHelper, SettingsService settingsService, IWindowManager windowManager) : base(windowManager, dockingHelper, clientLurker, settingsService) { this.Offers = new ObservableCollection <OutgoingOfferViewModel>(); this._timer = new Timer(50); this._timer.Elapsed += this.Timer_Elapsed; this._keyboardHelper = keyboardHelper; this._clientLurker = clientLurker; this._clipboardLurker = clipboardLurker; this._eventAggregator = eventAggregator; this._clipboardLurker.NewOffer += this.ClipboardLurker_NewOffer; this._clientLurker.OutgoingOffer += this.Lurker_OutgoingOffer; this._clientLurker.TradeAccepted += this.Lurker_TradeAccepted; this.Offers.CollectionChanged += this.Offers_CollectionChanged; this._context = new OutgoingbarContext(this.RemoveOffer, this.SetActiveOffer); }
/// <summary> /// Registers the instances. /// </summary> private void ShowOverlays(int processId) { Execute.OnUIThread(() => { this._currentDockingHelper = new DockingHelper(processId, this._settingsService); // Keyboard var keyboarHelper = new PoeKeyboardHelper(processId); this._keyboardLurker = new KeyboardLurker(processId, this._settingsService, keyboarHelper); // Mouse this._mouseLurker = new MouseLurker(processId, this._settingsService); this._mouseLurker.Newitem += this.MouseLurker_Newitem; // Clipboard this._clipboardLurker = new ClipboardLurker(); this._container.RegisterInstance(typeof(ProcessLurker), null, this._processLurker); this._container.RegisterInstance(typeof(ClientLurker), null, this._currentLurker); this._container.RegisterInstance(typeof(ClipboardLurker), null, this._clipboardLurker); this._container.RegisterInstance(typeof(DockingHelper), null, this._currentDockingHelper); this._container.RegisterInstance(typeof(PoeKeyboardHelper), null, keyboarHelper); this._incomingTradeBarOverlay = this._container.GetInstance <TradebarViewModel>(); this._outgoingTradeBarOverlay = this._container.GetInstance <OutgoingbarViewModel>(); this._lifeBulbOverlay = this._container.GetInstance <LifeBulbViewModel>(); this._manaBulbOverlay = this._container.GetInstance <ManaBulbViewModel>(); this._afkService = this._container.GetInstance <AfkService>(); this._hideoutOverlay = this._container.GetInstance <HideoutViewModel>(); this._helpOverlay = this._container.GetInstance <HelpViewModel>(); this._helpOverlay.Initialize(this.ToggleBuildHelper); this._buildViewModel = this._container.GetInstance <BuildViewModel>(); if (this._settingsService.BuildHelper) { this.ActivateItem(this._helpOverlay); } this.ActivateItem(this._incomingTradeBarOverlay); this.ActivateItem(this._outgoingTradeBarOverlay); this.ActivateItem(this._lifeBulbOverlay); this.ActivateItem(this._manaBulbOverlay); this.ActivateItem(this._hideoutOverlay); }); }
/// <summary> /// Initializes a new instance of the <see cref="TradeBarViewModal"/> class. /// </summary> /// <param name="lurker">The lurker.</param> /// <param name="dockingHelper">The docking helper.</param> /// <param name="keyboardHelper">The keyboard helper.</param> public TradebarViewModel(ClientLurker lurker, DockingHelper dockingHelper, PoeKeyboardHelper keyboardHelper) { this._Lurker = lurker; this._dockingHelper = dockingHelper; this._keyboardHelper = keyboardHelper; this.TradeOffers = new ObservableCollection <TradeOfferViewModel>(); this._dockingHelper.OnWindowMove += this.DockingHelper_OnWindowMove; this._Lurker.PoeClosed += this.Lurker_PoeClosed; this._Lurker.NewOffer += this.Lurker_NewOffer; this._Lurker.TradeAccepted += this.Lurker_TradeAccepted; this._Lurker.PlayerJoined += this.Lurker_PlayerJoined; this._Lurker.PlayerLeft += this.Lurker_PlayerLeft; this._context = new TradebarContext(this.RemoveOffer, this.AddActiveOffer); this.DisplayName = "Poe Lurker"; }
/// <summary> /// Initializes a new instance of the <see cref="ClipboardLurker"/> class. /// </summary> public ClipboardLurker(SettingsService settingsService, PoeKeyboardHelper keyboardHelper) { this.ClearClipboard(); this._keyboardHelper = keyboardHelper; this._simulator = new InputSimulator(); this._clipboardMonitor = new SharpClipboard(); this._settingsService = settingsService; this._settingsService.OnSave += this.SettingsService_OnSave; this._keyboardEvent = Hook.GlobalEvents(); this._clipboardMonitor.ClipboardChanged += this.ClipboardMonitor_ClipboardChanged; var search = Combination.FromString("Control+F"); var remainingMonster = Combination.FromString("Control+R"); var assignment = new Dictionary <Combination, Action> { { search, this.Search }, { remainingMonster, this.RemainingMonster }, }; this._keyboardEvent.OnCombination(assignment); this._itemParser.CheckPledgeStatus(); }
/// <summary> /// Initializes a new instance of the <see cref="TradeOfferViewModel"/> class. /// </summary> /// <param name="tradeEvent">The trade event.</param> public TradeOfferViewModel(TradeEvent tradeEvent, PoeKeyboardHelper keyboardHelper, TradebarContext tradebarContext) { this._tradeEvent = tradeEvent; this._keyboardHelper = keyboardHelper; this._tradebarContext = tradebarContext; }
/// <summary> /// Registers the instances. /// </summary> private void ShowOverlays(int processId) { Execute.OnUIThread(() => { this._currentDockingHelper = new DockingHelper(processId, this._settingsService); // Keyboard var keyboarHelper = new PoeKeyboardHelper(processId); this._keyboardLurker = new KeyboardLurker(processId, this._settingsService, this._keyCodeService, keyboarHelper); this._keyboardLurker.BuildToggled += this.KeyboardLurker_BuildToggled; this._keyboardLurker.OpenWikiPressed += this.KeyboardLurker_OpenWikiPressed; // Mouse this._mouseLurker = new MouseLurker(processId, this._settingsService); this._mouseLurker.ItemDetails += this.ShowItemDetails; this._mouseLurker.ItemIdentified += this.ShowMap; // Clipboard this._clipboardLurker = new ClipboardLurker(); this._container.RegisterInstance(typeof(ProcessLurker), null, this._processLurker); this._container.RegisterInstance(typeof(MouseLurker), null, this._mouseLurker); this._container.RegisterInstance(typeof(ClientLurker), null, this._currentLurker); this._container.RegisterInstance(typeof(PlayerService), null, this._currentCharacterService); this._container.RegisterInstance(typeof(ClipboardLurker), null, this._clipboardLurker); this._container.RegisterInstance(typeof(DockingHelper), null, this._currentDockingHelper); this._container.RegisterInstance(typeof(PoeKeyboardHelper), null, keyboarHelper); this._container.RegisterInstance(typeof(KeyboardLurker), null, this._keyboardLurker); this._skillTimelineOverlay = this._container.GetInstance <BuildTimelineViewModel>(); this._incomingTradeBarOverlay = this._container.GetInstance <TradebarViewModel>(); this._outgoingTradeBarOverlay = this._container.GetInstance <OutgoingbarViewModel>(); this._popup = this._container.GetInstance <PopupViewModel>(); this._lifeBulbOverlay = this._container.GetInstance <LifeBulbViewModel>(); this._manaBulbOverlay = this._container.GetInstance <ManaBulbViewModel>(); this._afkService = this._container.GetInstance <AfkService>(); this._hideoutOverlay = this._container.GetInstance <HideoutViewModel>(); this._helpOverlay = this._container.GetInstance <HelpViewModel>(); this._helpOverlay.Initialize(this.ToggleBuildHelper); this._buildViewModel = this._container.GetInstance <BuildViewModel>(); if (this._settingsService.BuildHelper) { this.ActivateItem(this._buildViewModel); } if (this._settingsService.BuildHelper) { if (this._settingsService.TimelineEnabled) { this.ActivateItem(this._skillTimelineOverlay); } this.ActivateItem(this._helpOverlay); } if (this._settingsService.IncomingTradeEnabled) { this.ActivateItem(this._incomingTradeBarOverlay); } if (this._settingsService.OutgoingTradeEnabled) { this.ActivateItem(this._outgoingTradeBarOverlay); } if (this._settingsService.HideoutEnabled) { this.ActivateItem(this._hideoutOverlay); } this.ActivateItem(this._lifeBulbOverlay); this.ActivateItem(this._manaBulbOverlay); }); }
/// <summary> /// Initializes a new instance of the <see cref="HideoutViewModel" /> class. /// </summary> /// <param name="windowManager">The window manager.</param> /// <param name="dockingHelper">The docking helper.</param> /// <param name="processLurker">The process lurker.</param> /// <param name="settingsService">The settings service.</param> /// <param name="keyboardHelper">The keyboard helper.</param> public HideoutViewModel(IWindowManager windowManager, DockingHelper dockingHelper, ProcessLurker processLurker, SettingsService settingsService, PoeKeyboardHelper keyboardHelper) : base(windowManager, dockingHelper, processLurker, settingsService) { this._keyboardHelper = keyboardHelper; }
/// <summary> /// Initializes a new instance of the <see cref="LifeBulbViewModel"/> class. /// </summary> /// <param name="windowManager">The window manager.</param> /// <param name="dockingHelper">The docking helper.</param> /// <param name="lurker"></param> /// <param name="settingsService"></param>H public ManaBulbViewModel(IEventAggregator eventAggregator, IWindowManager windowManager, DockingHelper dockingHelper, ClientLurker lurker, SettingsService settingsService, PoeKeyboardHelper keyboard, SettingsViewModel settingsViewModel) : base(windowManager, dockingHelper, lurker, settingsService) { this._settingsViewModel = settingsViewModel; this._eventAggregator = eventAggregator; this._eventAggregator.Subscribe(this); lurker.LocationChanged += this.Lurker_LocationChanged; lurker.RemainingMonsters += this.Lurker_RemainingMonsters; }