// 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); }); } }
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)); }
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]); }
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)); }
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)); }
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 } }
public void DeckAddCard(Card card) { DeckManager.AddCard(card); }