public void Start() { if (Game.Ctx.UserOperator && !Game.Ctx.isTutorial) { CardList = Game.Ctx.UserOperator.GetCardData(); } else { // keep cardList the same as in inspector } pileDeck = transform.Find("DeckPile").GetComponent <Pile>(); pileHand = transform.Find("HandPile").GetComponent <HandPile>(); pileDiscard = transform.Find("DiscardPile").GetComponent <Pile>(); pilePlay = transform.Find("PlayPile").GetComponent <PlayPile>(); pileDeck.Clear(); foreach (CardData cardData in CardList) { GameObject newCardObj = Instantiate(cardPrefab, transform); Card newCard = newCardObj.GetComponent <Card>(); newCard.Initialize(cardData); pileDeck.Add(newCard, false); } onTopChange.AddListener(EvaluateAvailability); }
public void TestPlayPile_Success() { GameSettings settings = new GameSettings(DifficultLevel.Middle); PlayPile played = new PlayPile(settings); Card card = new Card(new CardIdType(0), new CardIndexType(0), CardColorType.Blue, CardValueType.Value1); Debug.Assert(played.Play(card)); }
public void TestPlayPile_FailNumberUnknown() { GameSettings settings = new GameSettings(DifficultLevel.Middle); PlayPile played = new PlayPile(settings); Card card = new Card(new CardIdType(0), new CardIndexType(0), CardColorType.Blue, CardValueType.Unknown); Debug.Assert(!played.Play(card)); }
public void TestPlayPile_FailNotContinueNumber() { GameSettings settings = new GameSettings(DifficultLevel.Middle); PlayPile played = new PlayPile(settings); Card card1 = new Card(new CardIdType(0), new CardIndexType(0), CardColorType.Blue, CardValueType.Value1); Card card2 = new Card(new CardIdType(1), new CardIndexType(1), CardColorType.Blue, CardValueType.Value3); Debug.Assert(played.Play(card1)); Debug.Assert(!played.Play(card2)); }
public GameBoard(List <IHanabiPlayer> playerList) { Setting = new GameSettings(); DrawPool = new DrawPile(Setting); DiscardedCards = new DiscardPile(); PlayedCards = new PlayPile(Setting); Tokens = new GameTokens(Setting); Players = new Dictionary <NicknameType, IHanabiPlayer>(); int maxHand = Setting.GetMaxHandCards(Players.Count); foreach (var player in playerList) { this.Players.Add(player.Nickname, player); List <Card> handCard = new List <Card>(); for (int count = 0; count < maxHand; ++count) { player.DrawCard(this.Draw()); } } }