internal void HandleNewCards(MindVision mindVision, IMemoryUpdate result) { if (!isInit) { lastCollection = mindVision.GetCollectionCards(); if (lastCollection == null || lastCollection.Count == 0) { // We could not read the collection, so we throw and wait for a reset throw new Exception("could not read collection " + (lastCollection != null)); } } if (isInit) { var currentCards = mindVision.GetCollectionCards(); if (currentCards == null || currentCards.Count == 0) { return; } var newCards = GetNewCards(currentCards, lastCollection); if (newCards != null && newCards.Count > 0) { result.HasUpdates = true; result.NewCards = newCards; } lastCollection = currentCards; } isInit = true; }
internal void HandleXpChange(MindVision mindVision, IMemoryUpdate result) { var xpChanges = mindVision.GetXpChanges(); if (xpChanges != null && xpChanges.Count > 0 && !AreEqual(lastXpChanges, xpChanges) && isInit) { result.HasUpdates = true; result.XpChanges = xpChanges; } lastXpChanges = xpChanges; isInit = true; }
internal void HandleOpenedPack(MindVision mindVision, IMemoryUpdate result) { var openedPack = mindVision.GetOpenedPack(); if (openedPack != null && !openedPack.Equals(lastOpenedPack) && isInit) { result.HasUpdates = true; result.OpenedPack = openedPack; lastOpenedPack = openedPack; } isInit = true; }
internal void HandleSceneMode(MindVision mindVision, IMemoryUpdate result) { var scene = mindVision.GetSceneMode(); if (scene != null && scene != SceneModeEnum.INVALID && scene != 0 && scene != lastScene && isInit) { result.HasUpdates = true; result.CurrentScene = scene; } lastScene = scene; isInit = true; }
internal void HandleDisplayingAchievementToast(MindVision mindVision, IMemoryUpdate result) { var displayToast = mindVision.IsDisplayingAchievementToast(); if (displayToast && displayToast != lastToastStatus && isInit) { result.HasUpdates = true; result.DisplayingAchievementToast = displayToast; } lastToastStatus = displayToast; isInit = true; }
internal void HandleSelectedDeck(MindVision mindVision, IMemoryUpdate result) { var selectedDeckId = mindVision.GetSelectedDeckId(); if (selectedDeckId != null && selectedDeckId != 0 && selectedDeckId != previousSelectedDeckId && isInit) { result.HasUpdates = true; result.SelectedDeckId = selectedDeckId; previousSelectedDeckId = selectedDeckId; } isInit = true; }