public Sprite GetPlayerResultStatus(SamPlayerResurltStatus status) { int index = (int)status; if (index < sprPlayerResultStatus.Length) { return(sprPlayerResultStatus[index]); } return(null); }
IEnumerator WaitShowResult(SRSSamGameSession gameSession) { yield return(new WaitForSeconds(timeWaitShowResult)); _sam.session = gameSession; DisableAllButton(); // hide table card RomeveTableCard(); userCards.ForEach(a => a.DisableCardSelect()); // clear ui - update data - show result uiUser.HideCard(); uiUser.HideBao1La(); uiUser.HideCoundDown(); uiUser.UpdateUserData(_sam.session.Players[uiUser._playerData.AccountID]); uiUser._playerData.Status = SamPlayerStatus.WAITING_MATCH; Database.Instance.UpdateUserMoney(MoneyType.GOLD, uiUser._playerData.Account.Gold); Database.Instance.UpdateUserMoney(MoneyType.COIN, uiUser._playerData.Account.Coin); SRSSamResult playerResult = gameSession.GameLoop.SessionResult.ResultList.FirstOrDefault(a => a.AccountId.Equals(uiUser._playerData.AccountID)); if (playerResult != null) { SamPlayerResurltStatus status = _config.GetSamPlayerResurltStatus(playerResult.ResultFamily); uiUser.ShowStatus(_config.GetPlayerResultStatus(status), true, playerResult.Money); switch (playerResult.ResultFamily) { case SamResultFamily.TOI_TRANG: AudioAssistant.Instance.PlaySoundGame(_config.gameId, _config.audioThangDam); break; default: if (playerResult.Money < 0) { AudioAssistant.Instance.PlaySoundGame(_config.gameId, _config.audioThua); } else { AudioAssistant.Instance.PlaySoundGame(_config.gameId, _config.audioThang); } break; } } // Show Card in hand foreach (var uiPlayer in uiPlayers) { uiPlayer.HideCoundDown(); uiPlayer.HideCard(); uiPlayer.HideBao1La(); if (uiPlayer._playerData != null && _sam.session.Players.ContainsKey(uiPlayer._playerData.AccountID)) { uiPlayer.UpdateUserData(_sam.session.Players[uiPlayer._playerData.AccountID]); uiPlayer._playerData.Status = SamPlayerStatus.WAITING_MATCH; playerResult = gameSession.GameLoop.SessionResult.ResultList.FirstOrDefault(a => a.AccountId.Equals(uiPlayer._playerData.AccountID)); if (playerResult != null) { SamPlayerResurltStatus status = _config.GetSamPlayerResurltStatus(playerResult.ResultFamily); uiPlayer.ShowStatus(_config.GetPlayerResultStatus(status), true, playerResult.Money); ShowCardInHand(uiPlayer); } } } // hide result yield return(new WaitForSeconds(timeWaitHideResult)); if (tableCards.Count > 0 || userCards.Count > 0) { _cardController.GiveBackAll(); tableCards.Clear(); userCards.Clear(); uiUser.HideStatus(); foreach (var uiPlayer in uiPlayers) { uiPlayer.HideStatus(); } } }