public void Setup(string[] playerIds, string[] playerNames) { _stock = Cards.Count(); _players = new Dictionary <string, CardPlayer>(playerIds.Length); foreach (var cardPlayer in PlayersParent.GetComponentsInChildren <CardPlayer>()) { Destroy(cardPlayer.gameObject); } for (var i = 0; i < playerIds.Length; i++) { var playerId = playerIds[i]; var prefab = ServiceManager.User.Id.Equals(playerId) ? MainPlayerPrefab : _extraPlayerPrefab; var parent = ServiceManager.User.Id.Equals(playerId) ? PlayersParent : ExtraPlayersParent; var cardPlayer = Instantiate(prefab, parent).GetComponent <CardPlayer>(); cardPlayer.Name = playerNames[i]; cardPlayer.Id = playerId; _players.Add(playerId, cardPlayer); } }
private IEnumerator LateNewGame() { yield return(null); _players = new List <CardPlayer>(PlayersParent.GetComponentsInChildren <CardPlayer>()); foreach (var cardPlayer in _players) { cardPlayer.SetScore(0); } if (_players.Count == 0) { yield break; } CurrentPlayer.SetFocused(true); CardStock.Clear(); CardStock.AddRange(Cards.Take(_initialStock)); CardStock.Shuffle(); Utils.SetChildrenVisible(transform, false); Deal(_defaultCards); }