Exemple #1
0
 // add an item to the appropriate reorderable list
 private void AddItem(GUIContent content, Card card, ReorderableList deck, GenericMenu menu)
 {
     if (deck == _reorderableDeck)
     {
         menu.AddItem(content, false, () => {
             Debug.Log("---");
             // create and spawn our card
             Undo.RecordObject(target, "Added new card to deck.");
             deckManager.AddCard(card, deckManager.deck);
             PrefabUtility.RecordPrefabInstancePropertyModifications(target);
         });
     }
     else if (deck == _reorderableDiscardPile)
     {
         menu.AddItem(content, false, () => {
             // create and spawn our card
             Undo.RecordObject(target, "Added new card to discard pile.");
             deckManager.AddCard(card, deckManager.discardPile);
             PrefabUtility.RecordPrefabInstancePropertyModifications(target);
         });
     }
     else if (deck == _reorderableInUsePile)
     {
         menu.AddItem(content, false, () => {
             // create and spawn our card
             Undo.RecordObject(target, "Added new card to in use pile.");
             deckManager.AddCard(card, deckManager.inUsePile);
             PrefabUtility.RecordPrefabInstancePropertyModifications(target);
         });
     }
 }
Exemple #2
0
        public void CardsAdd()
        {
            DeckManager dm = createDM();

            var deckID = dm.CreateDeck("测试卡组");

            var instID1 = dm.AddCard(deckID, 1000);
            var instID2 = dm.AddCard(deckID, 1001);

            Assert.AreEqual(1000, dm.GetCardID(instID1));
            Assert.AreEqual(1001, dm.GetCardID(instID2));
        }
Exemple #3
0
        public void GetDeckCards()
        {
            DeckManager dm = createDM();

            var deckID = dm.CreateDeck("测试卡组");

            var instID1 = dm.AddCard(deckID, 1000);
            var instID2 = dm.AddCard(deckID, 1001);

            var cards = dm.GetDeckCards(deckID);

            Assert.AreEqual(cards.Count, 2);
            Assert.AreEqual(1000, cards[instID1]);
            Assert.AreEqual(1001, cards[instID2]);
        }
Exemple #4
0
        public void CardRemove()
        {
            DeckManager dm = createDM();

            var deckID = dm.CreateDeck("测试卡组");

            var instID1 = dm.AddCard(deckID, 1000);
            var instID2 = dm.AddCard(deckID, 1001);

            dm.RemoveCard(instID2);

            System.Threading.Thread.Sleep(50);

            Assert.AreEqual(1000, dm.GetCardID(instID1));
            Assert.AreEqual(-1, dm.GetCardID(instID2));
        }
Exemple #5
0
        public void CardsTransation()
        {
            DeckManager dm = createDM();

            var deckID = dm.CreateDeck("测试卡组");

            var instID1 = dm.AddCard(deckID, 1000);
            var instID2 = dm.AddCard(deckID, 1001);

            // 进入事务
            dm.EnterTransaction();

            var instID3 = dm.AddCard(deckID, 1003);

            dm.RemoveCard(instID1);

            Assert.AreEqual(-1, dm.GetCardID(instID1));
            Assert.AreEqual(1003, dm.GetCardID(instID3));

            // 尝试回滚
            dm.Rollback();
            Assert.AreEqual(1000, dm.GetCardID(instID1));
            Assert.AreEqual(-1, dm.GetCardID(instID3));

            // 进入事务
            dm.EnterTransaction();
            instID3 = dm.AddCard(deckID, 1003);
            dm.RemoveCard(instID2);

            Assert.AreEqual(-1, dm.GetCardID(instID2));
            Assert.AreEqual(1003, dm.GetCardID(instID3));

            // 提交
            dm.Commit();
            Assert.AreEqual(-1, dm.GetCardID(instID2));
            Assert.AreEqual(1003, dm.GetCardID(instID3));
        }
Exemple #6
0
 public void OnClick()
 {
     if (clickable)
     {
         if (SceneManager.GetActiveScene().name == "GameScene" && TurnManager.Instance.gameState == GameState.Buying)
         {
             shopRef.OnCardClick(this, myData);
         }
         else if (SceneManager.GetActiveScene().name == "DeckMakingScene") //U can only find cards in the deck-making scene other than in the actual gamescene.
         {
             //If its clicked in the "All Cards Panel"
             //  If Unlocked:
             //      - Ask if u want to add it to the deck
             //          - Add it
             deckmanagerRef.AddCard(this, myData);
         }
     }
     if (!clickable)
     {
         //maybe remove card
     }
 }
Exemple #7
0
 public void DeckAddCard(Card card)
 {
     DeckManager.AddCard(card);
 }