コード例 #1
0
        public static void RedrawExposed(List <Card> exposed, CardStore cardStore)
        {
            foreach (Card card in exposed)
            {
                cardStore.Remove(card);
            }

            int numCards = Math.Min(3, exposed.Count);

            int minExposed = exposed.Count - numCards;
            int minPos     = 3 - numCards;

            if (numCards > 0)
            {
                for (int i = 0; i < numCards; i++)
                {
                    var card     = exposed[minExposed + i];
                    var info     = cardStore.Get(card);
                    var position = exposedPositions[minPos + i];

                    info.MoveTo(position.transform);
                    info.Behaviour.acceptMouseEvents = (i == numCards - 1);
                }
            }
        }
コード例 #2
0
    public void init(Team team)
    {
        this.team = team;

        cardList = new List <Card>();
        cardDeck = CardStore.retrieveCardDeck(team.teamData.id);
    }
コード例 #3
0
        private static List <SubCell> ClearStack(CardStore cardStore, int stackIndex, List <Card> stack)
        {
            var stackPosition = stackPositions[stackIndex];

            foreach (var pos in stackPosition.GetComponentsInChildren <SubCell>())
            {
                GameObject.Destroy(pos.gameObject);
            }

            var cells   = new List <SubCell>();
            int desired = stack.Count;

            for (int positionIndex = 0; positionIndex < desired; positionIndex++)
            {
                var position = new GameObject(string.Format("Position {0}.{1}", stackIndex, positionIndex));

                cells.Add(position.AddComponent <SubCell>());
                position.transform.SetParent(stackPosition.transform);
                position.transform.localScale = new Vector3(1, 1, 1);

                var layoutEl = position.GetComponent <LayoutElement>();
                layoutEl.minWidth        = 70;
                layoutEl.minHeight       = 10;
                layoutEl.preferredWidth  = 100;
                layoutEl.preferredHeight = 30;
            }

            return(cells);
        }
コード例 #4
0
        public GameState(CardStore cardStore)
        {
            history = new List <MoveType>();

            wasteShoe    = new List <Card>();
            wasteExposed = new List <Card>();

            for (int i = 0; i < foundation.Length; i++)
            {
                foundation[i] = new List <Card>();
            }

            for (int i = 0; i < tableau.Length; i++)
            {
                tableau[i] = new List <Card>();
            }

            foreach (CardValue v in Enum.GetValues(typeof(CardValue)))
            {
                foreach (Suit s in Enum.GetValues(typeof(Suit)))
                {
                    wasteShoe.Add(FaceUpCard(cardStore, s, v));
                }
            }
        }
コード例 #5
0
        private Card FaceUpCard(CardStore cardStore, Suit suit, CardValue value)
        {
            var card = cardStore.Get(suit, value).Card;

            card.faceUp = true;

            return(card);
        }
コード例 #6
0
        public static void ImportPersonCards()
        {
            XDocument xmlDoc = LoadXmlFile("cards");
            var       cards  = xmlDoc.Root.Elements()
                               .Select(e => new CustomerCard
            {
                Name     = e.Element("Name").Value,
                Age      = int.Parse(e.Element("Age").Value),
                CardType = (CardType)Enum.Parse(typeof(CardType), e.Element("CardType")?.Value ?? "Normal", true)
            }).ToList();

            CardStore.AddCards(cards);
        }
コード例 #7
0
ファイル: ManageForm.cs プロジェクト: AnCalm/PayClient
        void SetCardStoreDataSouce(List <Cards> cardSet)
        {
            List <CardStore> cardStoreSet = new List <CardStore>();

            try
            {
                List <IGrouping <int, Cards> > cardType = cardSet.GroupBy(p => p.ChargeAccountTypeID).ToList();
                foreach (IGrouping <int, Cards> group in cardType)
                {
                    List <Cards> cardValue = group.ToList();
                    var          result    = cardValue.GroupBy(a => a.Price)
                                             .Select(g => (new
                    {
                        value = g.Key,
                        count = g.Count(),
                        ageUntreated = g.Count(item => item.ReChargeStatus == 0),
                        ageProcessing = g.Count(item => item.ReChargeStatus == 1),
                        ageSuccessful = g.Count(item => item.ReChargeStatus == 2),
                        ageFailure = g.Count(item => item.ReChargeStatus == 3),
                        ageSuspicious = g.Count(item => item.ReChargeStatus == 4)
                    }));

                    foreach (var item in result)
                    {
                        CardStore cardStore = new CardStore();
                        cardStore.CardTypeID          = cardValue[0].ChargeAccountTypeID;
                        cardStore.CardTypeDescription = SQLChargeAccountType.GetChargeAccountType(p => p.ChargeAccountTypeID == cardValue[0].ChargeAccountTypeID).FirstOrDefault().Description;
                        cardStore.CardValue           = Convert.ToInt16(item.value);
                        cardStore.TotalCount          = item.count;
                        cardStore.UntreatedCount      = Convert.ToInt16(item.ageUntreated);
                        cardStore.ProcessingCount     = Convert.ToInt16(item.ageProcessing);
                        cardStore.SuccessfulCount     = Convert.ToInt16(item.ageSuccessful);
                        cardStore.FailureCount        = Convert.ToInt16(item.ageFailure);
                        cardStore.SuspiciousCount     = Convert.ToInt16(item.ageSuspicious);
                        cardStoreSet.Add(cardStore);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }

            BindingSource bs = new BindingSource();

            bs.DataSource              = cardStoreSet;
            dgvCardStore.DataSource    = bs;
            bdnCardStore.BindingSource = bs;
        }
コード例 #8
0
        public static void RedrawAll(GameState state, CardStore cardStore)
        {
            foreach (CardInfo info in cardStore.Cards)
            {
                info.MoveTo(cardStore.transform);
            }

            RedrawShoe(state.wasteShoe);
            RedrawExposed(state.wasteExposed, cardStore);
            RedrawStacks(state.tableau, cardStore);
            RedrawSorted(state.foundation, cardStore);

            foreach (CardInfo info in cardStore.Cards)
            {
                info.SetTexture();
            }
        }
コード例 #9
0
        private static void RedrawStacks(List <Card>[] stacks, CardStore cardStore)
        {
            for (int i = 0; i < stacks.Length; i++)
            {
                var stackCards       = stacks[i];
                var positionsInStack = ClearStack(cardStore, i, stackCards);


                for (int j = 0; j < stackCards.Count; j++)
                {
                    var card = stackCards[j];
                    var info = cardStore.Get(card);

                    info.MoveTo(positionsInStack[j].transform);
                    info.Behaviour.acceptMouseEvents = true;
                }
            }
        }
コード例 #10
0
        private static void RedrawSorted(List <Card>[] stacks, CardStore cardStore)
        {
            for (int i = 0; i < stacks.Length; i++)
            {
                var stack      = stacks[i];
                var behaviours = sortedPositions[i].GetComponentsInChildren <CardBehaviour>();

                int numSorted = stack.Count;
                int numRender = Math.Min(2, numSorted);
                int stackFrom = Math.Max(0, numSorted - 2);

                for (int j = 0; j < numRender; j++)
                {
                    var card = stack[j + stackFrom];
                    var info = cardStore.Get(card);

                    info.MoveTo(sortedPositions[i]);
                    info.Behaviour.acceptMouseEvents = (j == numRender - 1);
                }
            }
        }
コード例 #11
0
ファイル: Battle.cs プロジェクト: davphestark/War
 public void AddCardsToStore(IEnumerable <Card> cards)
 {
     CardStore.AddRange(cards);
 }
コード例 #12
0
 protected override List <object> GetAllFacts()
 {
     return(CardStore.GetAll());
 }