public void SetHand() { _gameplayManager.CurrentPlayer.SetFirstHand(_gameplayManager.IsTutorial || _gameplayManager.IsSpecificGameplayBattleground); GameClient.Get <ITimerManager>().AddTimer( x => { _cardsController.UpdatePositionOfCardsForDistribution(_gameplayManager.CurrentPlayer); }); _battlegroundController.UpdatePositionOfCardsInPlayerHand(); }
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(); } }