public void InitData(UnoGamePlayData.Uno_FinishGame_Data _finishGameData) { if (_finishGameData == null) { return; } scoreBoardOptionPoolManager.ClearAllObjectsNow(); for (int i = 0; i < _finishGameData.listPlayersData.Count; i++) { Uno_FinishGame_ScoreBoard_Option_Controller _option = LeanPool.Spawn(scoreBoardOptionPrefab, Vector3.zero, Quaternion.identity, panelDetailContainer).GetComponent <Uno_FinishGame_ScoreBoard_Option_Controller>(); UnoGamePlayData.Uno_PlayerPlayingData _playerFinishData = Uno_GamePlay_Manager.instance.unoGamePlayData.listPlayerPlayingData[_finishGameData.listPlayersData[i].indexCircle]; _option.InitData(_finishGameData.listPlayersData[i].isWin, _playerFinishData.userData.nameShowInGame, _finishGameData.goldWin, _finishGameData.listPlayersData[i].totalPoint); scoreBoardOptionPoolManager.AddObject(_option); } }
public Coroutine Show(UnoGamePlayData.Uno_FinishGame_Data _finishGameData) { if (currentState == State.Show) { return(null); } currentState = State.Show; myCanvasGroup.blocksRaycasts = true; myText.transform.localScale = Vector3.one * 0.5f; bool _isMePlayingAndWin = false; for (int i = 0; i < _finishGameData.listPlayersData.Count; i++) { if (_finishGameData.listPlayersData[i].isWin) { UnoGamePlayData.Uno_FinishGame_Data.Player_Data _playerFinish = _finishGameData.listPlayersData[i]; UnoGamePlayData.Uno_PlayerPlayingData _playerPlayingData = Uno_GamePlay_Manager.instance.unoGamePlayData.listPlayerPlayingData[_playerFinish.indexCircle]; if (_playerPlayingData.isMe && Uno_GamePlay_Manager.instance.unoGamePlayData.CheckIsPlaying(_playerPlayingData.userData.sessionId)) { _isMePlayingAndWin = true; } } } string _stResult = string.Empty; switch (_finishGameData.reasonFinish) { case UnoGamePlayData.Uno_FinishGame_Data.Reason.PlayerWin: if (_isMePlayingAndWin) { _stResult = MyLocalize.GetString("Uno/FinishGame_Reason_Victory"); } else { _stResult = MyLocalize.GetString("Uno/FinishGame_Reason_Finish"); } break; case UnoGamePlayData.Uno_FinishGame_Data.Reason.OnePlayerInTable: _stResult = MyLocalize.GetString("Uno/FinishGame_Reason_Finish"); break; case UnoGamePlayData.Uno_FinishGame_Data.Reason.NoGlobalCards: _stResult = MyLocalize.GetString("Uno/FinishGame_Reason_NoGlobalCards"); break; case UnoGamePlayData.Uno_FinishGame_Data.Reason.TimeOut: _stResult = MyLocalize.GetString("Uno/FinishGame_Reason_TimeOut"); break; default: _stResult = MyLocalize.GetString("Uno/FinishGame_Reason_Finish"); break; } myText.text = _stResult.ToUpper(); if (tweenCanvasGroup != null) { LeanTween.cancel(tweenCanvasGroup.uniqueId); tweenCanvasGroup = null; } if (tweenMyText != null) { LeanTween.cancel(tweenMyText.uniqueId); tweenMyText = null; } if (actionShowOrHide != null) { StopCoroutine(actionShowOrHide); actionShowOrHide = null; } actionShowOrHide = DoActionShow(); return(StartCoroutine(actionShowOrHide)); }
public IEnumerator DoActionShowGoldWinToPlayerAtFinishGame(UnoGamePlayData.Uno_FinishGame_Data _finishGameData, System.Action _onFinished) { double _totalBet = unoGamePlayData.totalBet * 0.95; panelTotalBet.SetBet((long)_totalBet); yield return(panelTotalBet.Show(false)); yield return(null); List <IEnumerator> _listActionShowEffGoldFly = new List <IEnumerator>(); List <Uno_PlayerGroup> _tmpListPlayerGroup = new List <Uno_PlayerGroup>(); for (int i = 0; i < _finishGameData.listPlayersData.Count; i++) { UnoGamePlayData.Uno_FinishGame_Data.Player_Data _playerFinish = _finishGameData.listPlayersData[i]; if (!_playerFinish.isWin) { continue; } UnoGamePlayData.Uno_PlayerPlayingData _playerPlayingData = unoGamePlayData.listPlayerPlayingData[_playerFinish.indexCircle]; int _indexChair = _playerPlayingData.indexChair; Uno_PlayerGroup _playerGroup = Uno_GamePlay_Manager.instance.listPlayerGroup[_indexChair]; _tmpListPlayerGroup.Add(_playerGroup); Vector2 _startPoint = panelTotalBet.imgIconChip.transform.position; Vector2 _endPoint = _playerGroup.panelPlayerInfo.transform.position; _listActionShowEffGoldFly.Add(MyConstant.DoActionShowEffectGoldFly(goldPrefab, goldObjectPoolManager, sortingLayerManager.sortingLayerInfo_GoldObject , _startPoint, _endPoint, 10, 1f, 0.8f, () => { if (Uno_GamePlay_Manager.instance.CanPlayMusicAndSfx()) { MyAudioManager.instance.PlaySfx(GameInformation.instance.globalAudioInfo.sfx_Gold); } })); } CoroutineChain.Start .Parallel(_listActionShowEffGoldFly.ToArray()); yield return(Yielders.Get(1.1f)); panelTotalBet.SetBet(0, false); if (_tmpListPlayerGroup.Count > 0) { if (Uno_GamePlay_Manager.instance.CanPlayMusicAndSfx()) { MyAudioManager.instance.PlaySfx(GameInformation.instance.globalAudioInfo.sfx_Gold); } } for (int i = 0; i < _tmpListPlayerGroup.Count; i++) { Vector3 _posStartPanelGoldBonus = _tmpListPlayerGroup[i].panelPlayerInfo.imgAvatar.transform.position; StartCoroutine(MyConstant.DoActionShowPopupWinGold(panelBonusGoldPrefab, effectPoolManager, Uno_GamePlay_Manager.instance.myCanvas.transform , _posStartPanelGoldBonus, 0f, _finishGameData.goldWin)); _tmpListPlayerGroup[i].panelPlayerInfo.RefreshGoldInfo(); } if (myPanelUserInfo.currentState == PanelUserInfoInGameController.State.Show) { myPanelUserInfo.RefreshGoldInfo(); } else { myPanelUserInfo.RefreshGoldInfo(true); } yield return(Yielders.Get(0.5f)); yield return(panelTotalBet.Hide(false)); if (_onFinished != null) { _onFinished(); } }
public Coroutine Show() { if (currentState == State.Show) { return(null); } currentState = State.Show; myCanvasGroup.alpha = 0f; myCanvasGroup.blocksRaycasts = true; mainContent.localScale = Vector3.one * 0.5f; if (tweenCanvasGroup != null) { LeanTween.cancel(tweenCanvasGroup.uniqueId); tweenCanvasGroup = null; } if (tweenMainContent != null) { LeanTween.cancel(tweenMainContent.uniqueId); tweenMainContent = null; } if (actionShowOrHide != null) { StopCoroutine(actionShowOrHide); actionShowOrHide = null; } if (finishGameData != null && idDataShow != finishGameData.id) { historyOptionPoolManager.ClearAllObjectsNow(); for (int i = 0; i < finishGameData.listPlayersData.Count; i++) { // Debug.Log(">>>>>>>>>>>>>>>>>> " + finishGameData.listPlayersData[i].indexCircle + "|" + listPlayerPlayingData.Count); UnoGamePlayData.Uno_PlayerPlayingData _playerFinishData = listPlayerPlayingData[finishGameData.listPlayersData[i].indexCircle]; long _goldBonus = finishGameData.goldWin; if (finishGameData.listPlayersData[i].ownCards.Count == 0) { Uno_History_OptionType00_Controller _option = LeanPool.Spawn(historyOptionType00Prefab, Vector3.zero, Quaternion.identity, panelDetailContainer).GetComponent <Uno_History_OptionType00_Controller>(); _option.InitData(_playerFinishData.userData, finishGameData.listPlayersData[i].isWin, _goldBonus, finishGameData.listPlayersData[i].totalPoint); historyOptionPoolManager.AddObject(_option); } else { if (!finishGameData.listPlayersData[i].isWin) { _goldBonus = _playerFinishData.totalBet; } Uno_History_OptionType01_Controller _option = LeanPool.Spawn(historyOptionType01Prefab, Vector3.zero, Quaternion.identity, panelDetailContainer).GetComponent <Uno_History_OptionType01_Controller>(); _option.InitData(_playerFinishData.userData, finishGameData.listPlayersData[i].isWin, _goldBonus, finishGameData.listPlayersData[i].totalPoint, finishGameData.listPlayersData[i].ownCards); historyOptionPoolManager.AddObject(_option); } } idDataShow = finishGameData.id; } if (finishGameData == null || finishGameData.listPlayersData.Count == 0) { txtPointTitle.gameObject.SetActive(false); txtEmpty.gameObject.SetActive(true); } else { txtPointTitle.gameObject.SetActive(true); txtEmpty.gameObject.SetActive(false); } actionShowOrHide = DoActionShow(); return(StartCoroutine(actionShowOrHide)); }