コード例 #1
0
        public void SetHand()
        {
            _gameplayManager.CurrentPlayer.SetFirstHand(_gameplayManager.IsTutorial || _gameplayManager.IsSpecificGameplayBattleground);

            GameClient.Get <ITimerManager>().AddTimer(
                x =>
            {
                _cardsController.UpdatePositionOfCardsForDistribution(_gameplayManager.CurrentPlayer);
            });

            _battlegroundController.UpdatePositionOfCardsInPlayerHand();
        }
コード例 #2
0
        public void EndCardDistribution()
        {
            if (!CardDistribution)
            {
                return;
            }

            _gameplayManager.IsPreparingEnded = true;

            GameClient.Get <ICameraManager>().FadeOut(immediately: true);

            _timerManager.StopTimer(DirectlyEndCardDistribution);

            // for local player
            List <BoardCard> cards = new List <BoardCard>();

            cards.AddRange(_gameplayManager.CurrentPlayer.CardsPreparingToHand.FindAll(x => x.CardShouldBeChanged));
            foreach (BoardCard card in cards)
            {
                _gameplayManager.CurrentPlayer.CardsInDeck.Remove(card.WorkingCard);
                _gameplayManager.CurrentPlayer.CardsInDeck.Add(card.WorkingCard);
                card.ReturnCardToDeck();
            }

            foreach (BoardCard card in _gameplayManager.CurrentPlayer.CardsPreparingToHand)
            {
                SortingGroup sortingGroup = card.GameObject.GetComponent <SortingGroup>();
                sortingGroup.sortingLayerName = "Foreground";
                sortingGroup.sortingOrder     = 1;
                _gameplayManager.CurrentPlayer.RemoveCardFromDeck(card.WorkingCard);
                _gameplayManager.CurrentPlayer.CardsInHand.Add(card.WorkingCard);
                _battlegroundController.PlayerHandCards.Add(card);

                _timerManager.AddTimer(
                    x =>
                {
                    card.HandBoardCard.Enabled = true;
                },
                    null,
                    2f);
            }

            if (_gameplayManager.CurrentPlayer.CardsPreparingToHand.Count > 0)
            {
                _battlegroundController.UpdatePositionOfCardsInPlayerHand(true);
                _gameplayManager.CurrentPlayer.CardsPreparingToHand.Clear();
            }

            CardDistribution = false;

            _gameplayManager.CurrentPlayer.ThrowOnHandChanged();

            if (!_gameplayManager.IsTutorial)
            {
                _gameplayManager.CurrentPlayer.CardsInDeck =
                    _gameplayManager.CurrentPlayer.ShuffleCardsList(_gameplayManager.CurrentPlayer.CardsInDeck);
                _battlegroundController.StartGameplayTurns();
            }
            else
            {
                _battlegroundController.StartGameplayTurns();
            }
        }