/// <summary> /// Default constructor /// </summary> /// <param name="display"></param> /// <param name="cardsListOrder"></param> /// <param name="mapper"></param> public CardsListVM(DisplayType display, CardsListOrder cardsListOrder, IMapper mapper, CardThumbnailDownloader cardThumbnailDownloader) { CardsListOrder = cardsListOrder; Display = display; this.mapper = mapper; CardThumbnailDownloader = cardThumbnailDownloader; }
public InMatchTrackerStateVM(IMapper mapper, CardThumbnailDownloader cardThumbnailDownloader, Dictionary <int, Card> dictAllCards) { this.mapper = mapper; this.cardThumbnailDownloader = cardThumbnailDownloader; this.dictAllCards = dictAllCards; MySideboard = new CardsListVM(DisplayType.CountOnly, CardsListOrder.ManaCost, this.mapper, cardThumbnailDownloader); OpponentCardsSeen = new CardsListVM(DisplayType.CountOnly, CardsListOrder.ManaCost, this.mapper, cardThumbnailDownloader); MyLibrary = new CardsListVM(DisplayType.Percent, CardsListOrder.ManaCost, this.mapper, cardThumbnailDownloader); MyLibraryWithoutLands = new CardsListVM(DisplayType.Percent, CardsListOrder.ManaCost, this.mapper, cardThumbnailDownloader); }
/// <summary> /// Initialize the class using dependency injection /// </summary> /// <param name="mapper"></param> /// <param name="allCards"></param> /// <param name="api"></param> public DraftingVM(IMapper mapper, ICollection <Card> allCards, ServerApiCaller api, CardThumbnailDownloader cardThumbnailDownloader) { this.mapper = mapper; AllCards = allCards; Api = api; this.cardThumbnailDownloader = cardThumbnailDownloader; CardsThatDidNotWheelVM = new CardsListVM(DisplayType.None, CardsListOrder.ManaCost, mapper, cardThumbnailDownloader); }
public MainWindowVM(StatusBlinker statusBlinker, InMatchTrackerStateVM inMatchState, ConfigModel config, DraftingVM draftingVM, IMapper mapper, ICacheLoader <Dictionary <int, Set> > cacheSets, ProcessMonitor processMonitor, ServerApiCaller api, StartupShortcutManager startupManager, MtgaResourcesLocator resourcesLocator, FileMonitor fileMonitor, DraftCardsPicker draftHelper, ReaderMtgaOutputLog readerMtgaOutputLog, InGameTracker2 inMatchTracker, ExternalProviderTokenManager tokenManager, PasswordHasher passwordHasher, CacheSingleton <Dictionary <string, DraftRatings> > draftRatings, DraftHelperRunner draftHelperRunner, //IEmailProvider emailProvider, ICollection <Card> allCards, CardThumbnailDownloader cardThumbnailDownloader, ServerApiCaller serverApiCaller ) { // Set the status blinker reference StatusBlinker = statusBlinker; // Set the network status emission handler StatusBlinker.EmitStatus += status => { NetworkStatus = status; }; Sets = cacheSets.LoadData().Values.ToArray(); InMatchState = inMatchState; Config = config; DraftingVM = draftingVM; Mapper = mapper; ProcessMonitor = processMonitor; Api = api; StartupManager = startupManager; ResourcesLocator = resourcesLocator; FileMonitor = fileMonitor; DraftHelper = draftHelper; ReaderMtgaOutputLog = readerMtgaOutputLog; InMatchTracker = inMatchTracker; InMatchState.GameEnded += OnGameEnded; InMatchState.OpponentCardsUpdated += OnOpponentCardsUpdated; TokenManager = tokenManager; PasswordHasher = passwordHasher; DraftRatings = draftRatings; DraftHelperRunner = draftHelperRunner; //this.emailProvider = emailProvider; AllCards = allCards; CardThumbnailDownloader = cardThumbnailDownloader; this.serverApiCaller = serverApiCaller; // Set the library order from the config OrderLibraryCardsBy = config.OrderLibraryCardsBy == "Converted Mana Cost" ? CardsListOrder.ManaCost : CardsListOrder.DrawChance; // Create the opponent window view model OpponentWindowVM = new OpponentWindowVM("Opponent Cards", this, serverApiCaller); // Subscribe to property changes PropertyChanged += OnPropertyChanged; // Set the animated icon state AnimatedIcon = Config?.AnimatedIcon ?? false; // Set the initial window settings PositionTop = WindowSettings?.Position.Y ?? 0; PositionLeft = WindowSettings?.Position.X ?? 0; WindowOpacity = WindowSettings?.Opacity ?? 0.9; WindowTopmost = WindowSettings?.Topmost ?? true; // Set the initial window size WindowWidth = WindowSettings != null && WindowSettings.Size.X > double.Epsilon ? WindowSettings.Size.X : 340; WindowHeight = WindowSettings != null && WindowSettings.Size.Y > double.Epsilon ? WindowSettings.Size.Y : 500; }