コード例 #1
0
        private void AddEncounterInPlay(IEncounterInPlay encounterInPlay)
        {
            if (cardsInPlay.Any(x => x.CardId == encounterInPlay.Card.Id))
                return;

            Dispatch(() => cardsInPlay.Add(new EncounterCardInPlayViewModel(dispatcher, encounterInPlay)));

            OnPropertyChanged("CurrentThreat");
        }
コード例 #2
0
        public void EncounterCardRevealed(IEncounterInPlay encounterCardInPlay)
        {
            if (encounterCardInPlay == null)
            {
                throw new ArgumentNullException("encounterCardInPlay");
            }

            revealedEncounterCards.Add(encounterCardInPlay);
        }
コード例 #3
0
        private void AddToStagingArea(IEncounterInPlay encounterInPlay)
        {
            cardsInStagingArea.Add(encounterInPlay);

            foreach (var callback in cardAddedToStagingAreaCallbacks)
            {
                callback(encounterInPlay);
            }
        }
コード例 #4
0
        public void RemoveGuard(IEncounterInPlay guard)
        {
            if (guard == null)
                throw new ArgumentNullException("guard");

            if (!guards.Contains(guard))
                return;

            guards.Remove(guard);
        }
コード例 #5
0
        public EncounterCardInPlayViewModel(Dispatcher dispatcher, IEncounterInPlay encounterInPlay)
            : base(dispatcher, encounterInPlay.Card)
        {
            if (encounterInPlay == null)
            {
                throw new ArgumentNullException("encounterInPlay");
            }

            this.encounterInPlay = encounterInPlay;
        }
コード例 #6
0
        private void RemoveEncounterInPlay(IEncounterInPlay encounterInPlay)
        {
            var viewModel = cardsInPlay.Where(x => x.CardId == encounterInPlay.Card.Id).FirstOrDefault();
            if (viewModel == null)
                return;

            Dispatch(() => cardsInPlay.Remove(viewModel));

            OnPropertyChanged("CurrentThreat");
        }
コード例 #7
0
        private void AddEncounterInPlay(IEncounterInPlay encounterInPlay)
        {
            if (cardsInPlay.Any(x => x.CardId == encounterInPlay.Card.Id))
            {
                return;
            }

            Dispatch(() => cardsInPlay.Add(new EncounterCardInPlayViewModel(dispatcher, encounterInPlay)));

            OnPropertyChanged("CurrentThreat");
        }
コード例 #8
0
        private void RemoveEncounterInPlay(IEncounterInPlay encounterInPlay)
        {
            var viewModel = cardsInPlay.Where(x => x.CardId == encounterInPlay.Card.Id).FirstOrDefault();

            if (viewModel == null)
            {
                return;
            }

            Dispatch(() => cardsInPlay.Remove(viewModel));

            OnPropertyChanged("CurrentThreat");
        }
コード例 #9
0
        public void RemoveGuard(IEncounterInPlay guard)
        {
            if (guard == null)
            {
                throw new ArgumentNullException("guard");
            }

            if (!guards.Contains(guard))
            {
                return;
            }

            guards.Remove(guard);
        }
コード例 #10
0
        public void RemoveFromStagingArea(IEncounterInPlay card)
        {
            if (card == null)
            {
                throw new ArgumentNullException("card");
            }

            if (!cardsInStagingArea.Contains(card))
            {
                return;
            }

            cardsInStagingArea.Remove(card);

            foreach (var callback in cardRemovedFromStagingAreaCallbacks)
            {
                callback(card);
            }
        }
コード例 #11
0
        public void AddToStagingArea(IEncounterCard card)
        {
            if (card == null)
            {
                throw new ArgumentNullException("card");
            }

            IEncounterInPlay encounterInPlay = null;

            if (card is IEnemyCard)
            {
                encounterInPlay = new EnemyInPlay(Game, card as IEnemyCard);
            }
            else if (card is ILocationCard)
            {
                encounterInPlay = new LocationInPlay(Game, card as ILocationCard);
            }
            else if (card is IObjectiveCard)
            {
                encounterInPlay = new UnclaimedObjectiveInPlay(Game, card as IObjectiveCard);
            }

            AddToStagingArea(encounterInPlay);
        }
コード例 #12
0
        public void EncounterCardRevealed(IEncounterInPlay encounterCardInPlay)
        {
            if (encounterCardInPlay == null)
                throw new ArgumentNullException("encounterCardInPlay");

            revealedEncounterCards.Add(encounterCardInPlay);
        }
コード例 #13
0
        public void RemoveFromStagingArea(IEncounterInPlay card)
        {
            if (card == null)
                throw new ArgumentNullException("card");

            if (!cardsInStagingArea.Contains(card))
                return;

            cardsInStagingArea.Remove(card);

            foreach (var callback in cardRemovedFromStagingAreaCallbacks)
            {
                callback(card);
            }
        }
コード例 #14
0
        private void AddToStagingArea(IEncounterInPlay encounterInPlay)
        {
            cardsInStagingArea.Add(encounterInPlay);

            foreach (var callback in cardAddedToStagingAreaCallbacks)
            {
                callback(encounterInPlay);
            }
        }