Ejemplo n.º 1
0
        private static int getIndexInView(Card card, MtgLayoutView view)
        {
            var handle = view.FindRow(card);
            var index  = view.GetVisibleIndex(handle);

            return(index);
        }
Ejemplo n.º 2
0
		private static Card getCard(MtgLayoutView view, HitInfo hitInfo)
		{
			if (!hitInfo.IsOverImage() && hitInfo.CustomButtonIndex < 0)
				return null;

			var card = (Card) view.FindRow(hitInfo.RowHandle);
			return card;
		}
Ejemplo n.º 3
0
        private void addCardsToPreview(MtgLayoutView view, List <Card> cardsToPreloadImage)
        {
            var pageSize = _scrollSubsystem.GetPageSize(view);

            int visibleRecordIndex = view.VisibleRecordIndex;

            bool endReached   = false;
            bool startReached = false;
            int  i            = 0;

            while (true)
            {
                if (startReached && endReached)
                {
                    return;
                }

                int maxPreload = Math.Min(_uiConfigRepository.Config.ImageCacheCapacity * 3 / 4 - pageSize, pageSize * 10);
                if (cardsToPreloadImage.Count > maxPreload)
                {
                    return;
                }

                startReached |= !add(visibleRecordIndex - i - 1);
                endReached   |= !add(visibleRecordIndex + pageSize + i);

                i++;
            }

            bool add(int j)
            {
                if (j < 0 || j >= view.RowCount)
                {
                    return(false);
                }

                int handle = view.GetVisibleRowHandle(j);
                var card   = (Card)view.FindRow(handle);

                if (card == null)
                {
                    return(false);
                }

                cardsToPreloadImage.Add(card);
                return(true);
            }
        }
Ejemplo n.º 4
0
        private static bool preload(List <Card> cardsToPreloadImage, MtgLayoutView view, int i)
        {
            if (i < 0 || i >= view.RowCount)
            {
                return(false);
            }

            int handle = view.GetVisibleRowHandle(i);
            var card   = (Card)view.FindRow(handle);

            if (card == null)
            {
                return(false);
            }

            cardsToPreloadImage.Add(card);
            return(true);
        }
Ejemplo n.º 5
0
        public Card GetCard(MtgLayoutView view, int rowHandle)
        {
            if (view == _layoutViewCards)
            {
                return((Card)view.FindRow(rowHandle));
            }

            if (view != _layoutViewDeck)
            {
                throw new ArgumentOutOfRangeException();
            }

            int visibleIndex = view.GetVisibleIndex(rowHandle);

            if (visibleIndex < 0)
            {
                return(null);
            }

            return(_deckEditorModel.GetVisibleCards()[visibleIndex]);
        }