void AddNewAchievementDetail(IMiniGameInfo.Type _gameType) { if (listAchievementDetail == null) { listAchievementDetail = new List <AchievementDetail>(); } AchievementDetail _achievementDetail = new AchievementDetail(_gameType); listAchievementDetail.Add(_achievementDetail); }
public void InitListOtherUserDataInGame(MessageReceiving _mess) { listOtherPlayerData = new List <UserDataInGame>(); UserDataInGame _usedata = null; sbyte _maxViewer = _mess.readByte(); for (int i = 0; i < (int)_maxViewer; i++) { sbyte _caseCheck = _mess.readByte(); //(nếu giá trị -1 thì không đọc data dưới --> tiếp tục vòng for) if (_caseCheck >= 0) { short _sessionId = _mess.readShort(); _usedata = new UserDataInGame(_mess, _sessionId, (sbyte)i); BOL_ShowPlayer_Manager.instance.InitUserInroom(_usedata); if (_usedata.sessionId != DataManager.instance.userData.sessionId) { listOtherPlayerData.Add(_usedata); } else { DataManager.instance.userData.CastToUserDataInGame().index = (sbyte)i; AchievementDetail _achievementDetail = DataManager.instance.achievementData.GetAchievementDetail(IMiniGameInfo.Type.BattleOfLegend); if (_achievementDetail != null) { _achievementDetail.countWin = _usedata.win; _achievementDetail.countDraw = _usedata.tie; _achievementDetail.countLose = _usedata.lose; // Debug.Log(_usedata.win + " - " + _usedata.tie + " - " + _usedata.lose); } else { Debug.LogError(">>> _achievementDetail is null"); } } } else { _usedata = new UserDataInGame(); listOtherPlayerData.Add(_usedata); } //Debug.LogError(_usedata.sessionId + " - " + DataManager.instance.userData.sessionId); } sbyte numberChairs = _mess.readByte(); for (int i = 0; i < numberChairs; i++) { sbyte checkCase = _mess.readByte(); if (checkCase >= 0) { short sessionIds = _mess.readShort(); } } }
public static SerializeResult Serialize() { NavigatorHandler.Serialize(); AchievementHandler.Serialize(); try { CharacterIgnores = new Dictionary <int, CharacterIgnore>(); using (var Adapter = new DatabaseClient("SELECT * FROM character_ignores")) { var Table = Adapter.GetTable(); foreach (DataRow Row in Table.Rows) { var Item = new CharacterIgnore(Row); CharacterIgnores.Add(Item.Id, Item); } } CharacterAchievements = new Dictionary <int, CharacterAchievement>(); using (var Adapter = new DatabaseClient("SELECT * FROM character_achievements")) { var Table = Adapter.GetTable(); foreach (DataRow Row in Table.Rows) { var Item = new CharacterAchievement(Row); CharacterAchievements.Add(Item.Id, Item); } } AchievementDetails = new Dictionary <int, AchievementDetail>(); using (var Adapter = new DatabaseClient("SELECT * FROM achievements_details")) { var Table = Adapter.GetTable(); foreach (DataRow Row in Table.Rows) { var Item = new AchievementDetail(Row); AchievementDetails.Add(Item.Id, Item); } } } catch { return(SerializeResult.Broken); } return(SerializeResult.Finished); }
public void InitData(AchievementDetail _achievementData) { achievementData = _achievementData; var _obj = achievementData.myGameInfo.gameAvatar.Load(); if (_obj != null) { iconGame.sprite = (Sprite)_obj; } txtNameGame.text = achievementData.myGameInfo.myName; txtCountWin.text = achievementData.countWin.ToString(); txtCountDraw.text = achievementData.countDraw.ToString(); txtCountLose.text = achievementData.countLose.ToString(); }
public void InitListOtherUserDataInGame(MessageReceiving _mess) { listGlobalPlayerData = new List <UserDataInGame>(); listSessionIdGlobalPlayer = new List <short>(); UserDataInGame _userdata = null; sbyte _maxViewer = _mess.readByte(); for (int i = 0; i < (int)_maxViewer; i++) { sbyte _caseCheck = _mess.readByte(); //(nếu giá trị -1 thì không đọc data dưới --> tiếp tục vòng for) if (_caseCheck != -1) { short _sessionId = _mess.readShort(); _userdata = new UserDataInGame(_mess, _sessionId, (sbyte)i); if (CheckIfIsMe(_userdata.sessionId)) { int _countWin = _userdata.win; int _countTie = _userdata.tie; int _countLose = _userdata.lose; _userdata = DataManager.instance.userData.CastToUserDataInGame(); _userdata.index = (sbyte)i; _userdata.win = _countWin; _userdata.tie = _countTie; _userdata.lose = _countLose; AchievementDetail _achievementDetail = DataManager.instance.achievementData.GetAchievementDetail(IMiniGameInfo.Type.Uno); if (_achievementDetail != null) { _achievementDetail.countWin = _userdata.win; _achievementDetail.countDraw = _userdata.tie; _achievementDetail.countLose = _userdata.lose; // Debug.Log(_usedata.win + " - " + _usedata.tie + " - " + _usedata.lose); } else { Debug.LogError(">>> _achievementDetail is null"); } } listGlobalPlayerData.Add(_userdata); listSessionIdGlobalPlayer.Add(_sessionId); } else { _userdata = new UserDataInGame(); listGlobalPlayerData.Add(_userdata); listSessionIdGlobalPlayer.Add(-1); } // Debug.LogError(_usedata.sessionId + " - " + DataManager.instance.userData.sessionId); } }
public JsonResult UpdateMemberAchievement(int fid, int fach, string fdate) { using (CGPEntities ctx = new CGPEntities()) { try { AchievementDetail a = new AchievementDetail(); a.MemberID = fid; a.AchievementID = fach; a.DateIncurred = DateTime.ParseExact(fdate, "dd/MM/yyyy", CultureInfo.InvariantCulture); a.TreeID = CurrentContext.GetCurrentTree(); ctx.AchievementDetails.Add(a); ctx.SaveChanges(); return(Json("Cập Nhật Thành Công !", JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(ex.Message, JsonRequestBehavior.AllowGet)); } } }
IEnumerator DoActionShowResult() { if (currentGameState == GameState.ShowResult) { Debug.LogError("Đang show result rồi"); yield break; } DragonTigerCasinoData.DragonTiger_Result_Data _resultData = dragonTigerCasinoData.processResultData[0]; currentGameState = GameState.ShowResult; // ---- Merge dữ liệu ---- // int _cardDragon = ((int)_resultData.cardDragon) % 13; int _cardTiger = ((int)_resultData.cardTiger) % 13; if (_cardDragon > _cardTiger) { dragonTigerCasinoData.listHistory.Add((int)IndexBet.Dragon); } else if (_cardDragon < _cardTiger) { dragonTigerCasinoData.listHistory.Add((int)IndexBet.Tiger); } else { dragonTigerCasinoData.listHistory.Add((int)IndexBet.Tie); } dragonTigerCasinoData.CheckListHistoryAgain(); dragonTigerCasinoData.ResetTableBet(); dragonTigerCasinoData.nextTimeToShowResult = _resultData.nextTimeToShowResult; DataManager.instance.userData.gold = _resultData.GOLD; DataManager.instance.userData.SetTotalBetInGameInfo(IMiniGameInfo.Type.DragonTigerCasino, 0); if (_resultData.caseCheck == 1) { AchievementDetail _achievementDetail = DataManager.instance.achievementData.GetAchievementDetail(IMiniGameInfo.Type.DragonTigerCasino); if (_achievementDetail != null) { if (_resultData.goldProcess > 0) { _achievementDetail.countWin = _resultData.achievement; } else if (_resultData.goldProcess < 0) { _achievementDetail.countLose = _resultData.achievement; } else { _achievementDetail.countDraw = _resultData.achievement; } } else { Debug.LogError(">>> _achievementDetail is null"); } } else if (_resultData.caseCheck == -88) { PopupManager.Instance.CreatePopupMessage(MyLocalize.GetString(MyLocalize.kError) , MyLocalize.GetString("Error/GamePlay_BetError_0") , _resultData.caseCheck.ToString() , MyLocalize.GetString(MyLocalize.kOk)); } // ----------------------- // if (callbackManager != null && callbackManager.onStartShowResult != null) { callbackManager.onStartShowResult(); } ICardInfo _cardDragonInfo = GetCardInfo(_resultData.cardDragon); if (_cardDragonInfo == null) { Debug.LogError("_cardDragonInfo is null"); } ICardInfo _cardTigerInfo = GetCardInfo(_resultData.cardTiger); if (_cardTigerInfo == null) { Debug.LogError("_cardTigerInfo is null"); } float _timeShow = 0.2f; yield return(CoroutineChain.Start .Sequential(cardDragon.Move(cardDragonShowPlaceHolder.position, _timeShow, LeanTweenType.easeInSine, myAudioInfo.sfx_Card) , cardTiger.Move(cardTigerShowPlaceHolder.position, _timeShow, LeanTweenType.easeInSine, myAudioInfo.sfx_Card)) .Sequential(cardDragon.ScaleTo(Vector2.one * 2f, _timeShow, LeanTweenType.easeInSine, myAudioInfo.sfx_Card) , cardTiger.ScaleTo(Vector2.one * 2f, _timeShow, LeanTweenType.easeInSine, myAudioInfo.sfx_Card)) .Parallel(cardDragon.Show(_cardDragonInfo, myAudioInfo.sfx_Card) , cardTiger.Show(_cardTigerInfo, myAudioInfo.sfx_Card))); yield return(Yielders.Get(1f)); Vector2 _start = Vector2.zero; bool _isFinished = false; if (_cardDragon > _cardTiger) { _start = showEffWinGold_Dragon_PlaceHolder.position; yield return(cardTiger.ScaleTo(Vector2.one, _timeShow, LeanTweenType.easeInSine, myAudioInfo.sfx_Card)); cardTiger.SetUpShadow(true); panelTableBetTiger.SetShadow(true); panelTableBetTie.SetShadow(true); MyAudioManager.instance.PlaySfx(myAudioInfo.sfx_ShowResult); cardDragon.SetUpLoopHighlight(() => { _isFinished = true; }); yield return(new WaitUntil(() => _isFinished)); yield return(cardDragon.ScaleTo(Vector2.one, _timeShow, LeanTweenType.easeInSine, myAudioInfo.sfx_Card)); // panelTableBetDragon.SetUpHighlight(); } else if (_cardDragon < _cardTiger) { _start = showEffWinGold_Tiger_PlaceHolder.position; yield return(cardDragon.ScaleTo(Vector2.one, _timeShow, LeanTweenType.easeInSine, myAudioInfo.sfx_Card)); cardDragon.SetUpShadow(true); panelTableBetDragon.SetShadow(true); panelTableBetTie.SetShadow(true); MyAudioManager.instance.PlaySfx(myAudioInfo.sfx_ShowResult); cardTiger.SetUpLoopHighlight(() => { _isFinished = true; }); yield return(new WaitUntil(() => _isFinished)); yield return(cardTiger.ScaleTo(Vector2.one, _timeShow, LeanTweenType.easeInSine, myAudioInfo.sfx_Card)); // panelTableBetTiger.SetUpHighlight(); } else { _start = showEffWinGold_Tie_PlaceHolder.position; yield return(CoroutineChain.Start .Parallel(cardDragon.ScaleTo(Vector2.one, _timeShow, LeanTweenType.easeInSine, myAudioInfo.sfx_Card) , cardTiger.ScaleTo(Vector2.one, _timeShow, LeanTweenType.easeInSine, myAudioInfo.sfx_Card))); panelTableBetDragon.SetShadow(true); panelTableBetTiger.SetShadow(true); MyAudioManager.instance.PlaySfx(myAudioInfo.sfx_ShowResult); panelTableBetTie.SetUpHighlight(() => { _isFinished = true; }); yield return(new WaitUntil(() => _isFinished)); } if (_resultData.betUnit > 0) { Vector2 _end = iconGoldHolder.position; StartCoroutine(MyConstant.DoActionShowPopupWinGold(panelBonusGoldPrefab, effectPoolManager, myCanvas.transform , showEffPanelGoldBonusEffPlaceHolder.position, 1.1f, _resultData.betUnit , () => { panelUserInGame.RefreshGoldInfo(); })); yield return(StartCoroutine(MyConstant.DoActionShowEffectGoldFly(goldPrefab, effectPoolManager, sortingLayerManager.sortingLayerInfo_GoldObject , _start, _end, 10, ratioScale, 0.8f , () => { MyAudioManager.instance.PlaySfx(GameInformation.instance.globalAudioInfo.sfx_Gold); }))); } panelTableBetDragon.SetShadow(false); panelTableBetTie.SetShadow(false); panelTableBetTiger.SetShadow(false); cardDragon.SetUpShadow(false); cardTiger.SetUpShadow(false); yield return(CoroutineChain.Start .Parallel(cardDragon.Move(posistionSpawnCard, 0.3f, LeanTweenType.easeInSine, myAudioInfo.sfx_Card), cardTiger.Move(posistionSpawnCard, 0.3f, LeanTweenType.easeInSine, myAudioInfo.sfx_Card))); cardDragon.SelfDestruction(); cardDragon = null; cardTiger.SelfDestruction(); cardTiger = null; if (callbackManager != null && callbackManager.onEndShowResult != null) { callbackManager.onEndShowResult(); } _resultData = null; dragonTigerCasinoData.processResultData.RemoveAt(0); SetBetAgain(); }
IEnumerator DoActionRun(bool _connectFirst, System.Action _onFinished = null) { yield return(null); panelLoading.SetActive(true); InitAllCallback(); actionRunProcessPlaying = DoActionRunProcessPlaying(); StartCoroutine(actionRunProcessPlaying); actionRunProcessNonPlaying = DoActionRunProcessNonPlaying(); StartCoroutine(actionRunProcessNonPlaying); actionCheckFocusIconGetGold = DoActionCheckFocusIconGetGold(); StartCoroutine(actionCheckFocusIconGetGold); NetworkGlobal.instance.SetProcessRealTime(CMD_REALTIME.S_MINIGAME_LONGHO_GET_GAMEINFO, (_mess) => { dragonTigerCasinoData.InitDataWhenGetTableInfo(_mess); if (_mess.avaiable() > 0) { #if TEST Debug.Log(">>> Chua doc het CMD : " + _mess.getCMDName()); #endif } dragonTigerCasinoData.CheckListHistoryAgain(); AchievementDetail _achievementDetail = DataManager.instance.achievementData.GetAchievementDetail(IMiniGameInfo.Type.DragonTigerCasino); if (_achievementDetail != null) { _achievementDetail.countWin = dragonTigerCasinoData.winAchievement; _achievementDetail.countDraw = dragonTigerCasinoData.tieAchievement; _achievementDetail.countLose = dragonTigerCasinoData.loseAchievement; // Debug.Log(dragonTigerCasinoData.winAchievement + " - " + dragonTigerCasinoData.tieAchievement + " - " + dragonTigerCasinoData.loseAchievement); } RefreshUITableBet(true); RegisterActionUpdateResultGame(); RegisterActionMeAddBet(); RegisterActionUpdateTableBet(); RegisterActionPlayerChat(); RegisterActionPlayerAddGold(); RegisterActionSetParentInfo(); RegisterActionAlertUpdateServer(); }); if (_connectFirst) { GlobalRealTimeSendingAPI.SendMessageJoinToMiniGame(DataManager.instance.miniGameData.currentSubGameDetail.myInfo); } NetworkGlobal.instance.instanceRealTime.ResumeReceiveMessage(); yield return(new WaitUntil(() => dragonTigerCasinoData != null && dragonTigerCasinoData.hasLoadGameInfo)); panelLoading.SetActive(false); actionDealCardFirstGame = DoActionDealCardAtFirst(); StartCoroutine(actionDealCardFirstGame); MyAudioManager.instance.PlayMusic(myAudioInfo.bgm); onPressBack = () => { if (SettingScreenController.instance.currentState == UIHomeScreenController.State.Show) { MyAudioManager.instance.PlaySfx(GameInformation.instance.globalAudioInfo.sfx_Click); SettingScreenController.instance.Hide(); } else { OnButtonSettingClicked(); } }; CoreGameManager.instance.RegisterNewCallbackPressBackKey(onPressBack); if (_onFinished != null) { _onFinished(); } }
IEnumerator DoActionShowResult() { if (currentGameState == GameState.ShowResult) { Debug.LogError("Đang show result rồi"); yield break; } KoprokData.Koprok_Result_Data _resultData = koprokData.processResultData[0]; currentGameState = GameState.ShowResult; // ---- Merge dữ liệu ---- // Koprok_GamePlay_Manager.IndexBet _slot1 = (Koprok_GamePlay_Manager.IndexBet)_resultData.dice[0]; Koprok_GamePlay_Manager.IndexBet _slot2 = (Koprok_GamePlay_Manager.IndexBet)_resultData.dice[1]; Koprok_GamePlay_Manager.IndexBet _slot3 = (Koprok_GamePlay_Manager.IndexBet)_resultData.dice[2]; koprokData.listHistory.Insert(0, new KoprokData.Koprok_History_Data(_slot1, _slot2, _slot3)); koprokData.CheckListHistoryAgain(); koprokData.ResetTableBet(); koprokData.nextTimeToShowResult = _resultData.nextTimeToShowResult; DataManager.instance.userData.gold = _resultData.GOLD; DataManager.instance.userData.SetTotalBetInGameInfo(IMiniGameInfo.Type.Koprok, 0); if (_resultData.caseCheck == 1) { AchievementDetail _achievementDetail = DataManager.instance.achievementData.GetAchievementDetail(IMiniGameInfo.Type.Koprok); if (_achievementDetail != null) { if (_resultData.goldProcess > 0) { _achievementDetail.countWin = _resultData.achievement; } else if (_resultData.goldProcess < 0) { _achievementDetail.countLose = _resultData.achievement; } else { _achievementDetail.countDraw = _resultData.achievement; } } else { Debug.LogError(">>> _achievementDetail is null"); } } else if (_resultData.caseCheck == -88) { PopupManager.Instance.CreatePopupMessage(MyLocalize.GetString(MyLocalize.kError) , MyLocalize.GetString("Error/GamePlay_BetError_0") , _resultData.caseCheck.ToString() , MyLocalize.GetString(MyLocalize.kOk)); } // ----------------------- // if (callbackManager != null && callbackManager.onStartShowResult != null) { callbackManager.onStartShowResult(); } List <Sprite> _listSpriteBetWin = new List <Sprite>(); for (int i = 0; i < _resultData.dice.Count; i++) { _listSpriteBetWin.Add(spriteIconBet[(int)_resultData.dice[i]]); } diskShock.SetItemInfo(_listSpriteBetWin, true, true); SetUpShadowTable(null, true); yield return(StartCoroutine(diskShock.DoActionShowResult(myAudioInfo.sfx_DiceMove))); yield return(StartCoroutine(DoActionHighlightIndexBet(_resultData.dice))); if (_resultData.betUnit > 0) { StartCoroutine(MyConstant.DoActionShowPopupWinGold(panelBonusGoldPrefab, effectPoolManager, myCanvas.transform , showEffPanelGoldBonusEffPlaceHolder.position, 1.1f, _resultData.betUnit , () => { panelUserInGame.RefreshGoldInfo(); })); List <IndexBet> _myBetWin = new List <IndexBet>(); for (int i = 0; i < _resultData.dice.Count; i++) { if (koprokData.myIndexBet.Contains(_resultData.dice[i])) { _myBetWin.Add(_resultData.dice[i]); } } yield return(StartCoroutine(DoActionShowEffWinGoldAtIndex(_myBetWin, (Vector2)iconGoldHolder.position))); } yield return(StartCoroutine(diskShock.DoActionShockAgainAndReset(myAudioInfo.sfx_DiceMove, myAudioInfo.sfx_DiceShake))); SetUpShadowTable(_resultData.dice, false); if (callbackManager != null && callbackManager.onEndShowResult != null) { callbackManager.onEndShowResult(); } _resultData = null; koprokData.processResultData.RemoveAt(0); SetBetAgain(); }
///<summary> /// DoActionShowResult: Show màn hình cho thú chạy ///</summary> IEnumerator DoActionShowResultScreen() { if (currentState == State.ShowResult) { Debug.LogError("Đang show result rồi"); yield break; } currentState = State.ShowResult; bool _isFinished = false; shadowChangeScreen.gameObject.SetActive(true); Color _c = shadowChangeScreen.color; _c.a = 0f; shadowChangeScreen.color = _c; LeanTween.alpha(shadowChangeScreen.rectTransform, 1f, 0.1f).setOnComplete(() => { _isFinished = true; }); yield return(new WaitUntil(() => _isFinished)); if (callbackManager != null && callbackManager.onStartShowResult != null) { callbackManager.onStartShowResult(); } yield return(Yielders.EndOfFrame); betManager.Hide(); resultManager.gameObject.SetActive(true); yield return(Yielders.EndOfFrame); resultManager.Show(); yield return(Yielders.Get(0.3f)); _isFinished = false; LeanTween.alpha(shadowChangeScreen.rectTransform, 0f, 0.2f).setOnComplete(() => { shadowChangeScreen.gameObject.SetActive(false); _isFinished = true; }); yield return(new WaitUntil(() => _isFinished)); if (animalRacingData.currentResultData == null) { yield return(new WaitUntil(() => animalRacingData.currentResultData != null)); } // ---- Merge dữ liệu ---- // #if TEST Debug.Log(">>> AnimalIndexWin: " + animalRacingData.currentResultData.animalWin); #endif if (animalRacingData.currentResultData.valueCheck == 1) { for (int i = 0; i < animalRacingData.currentResultData.listGoldUpdate.Count; i++) { if (animalRacingData.currentResultData.listGoldUpdate[i].caseCheck == 1) { // --- Cập nhật số tiền hiện có cho chính mình --- // if (animalRacingData.currentResultData.listGoldUpdate[i].sessionId == DataManager.instance.userData.sessionId) { DataManager.instance.userData.gold = animalRacingData.currentResultData.listGoldUpdate[i].GOLD; AchievementDetail _achievementDetail = DataManager.instance.achievementData.GetAchievementDetail(IMiniGameInfo.Type.AnimalRacing); if (_achievementDetail != null) { if (animalRacingData.currentResultData.listGoldUpdate[i].goldProcess > 0) { _achievementDetail.countWin = animalRacingData.currentResultData.listGoldUpdate[i].achievement; } else if (animalRacingData.currentResultData.listGoldUpdate[i].goldProcess < 0) { _achievementDetail.countLose = animalRacingData.currentResultData.listGoldUpdate[i].achievement; } else { _achievementDetail.countDraw = animalRacingData.currentResultData.listGoldUpdate[i].achievement; } } else { Debug.LogError(">>> _achievementDetail is null"); } continue; } for (int j = 0; j < animalRacingData.listOtherPlayerData.Count; j++) { if (animalRacingData.listOtherPlayerData[j].IsEqual(animalRacingData.currentResultData.listGoldUpdate[i].sessionId)) { animalRacingData.listOtherPlayerData[j].gold = animalRacingData.currentResultData.listGoldUpdate[i].GOLD; if (animalRacingData.currentResultData.listGoldUpdate[i].goldProcess > 0) { animalRacingData.listOtherPlayerData[j].win = animalRacingData.currentResultData.listGoldUpdate[i].achievement; } else if (animalRacingData.currentResultData.listGoldUpdate[i].goldProcess < 0) { animalRacingData.listOtherPlayerData[j].lose = animalRacingData.currentResultData.listGoldUpdate[i].achievement; } else { animalRacingData.listOtherPlayerData[j].tie = animalRacingData.currentResultData.listGoldUpdate[i].achievement; } break; } } } else if (animalRacingData.currentResultData.listGoldUpdate[i].caseCheck == -88) { if (animalRacingData.currentResultData.listGoldUpdate[i].sessionId == DataManager.instance.userData.sessionId) { DataManager.instance.userData.gold = animalRacingData.currentResultData.listGoldUpdate[i].GOLD; continue; } for (int j = 0; j < animalRacingData.listOtherPlayerData.Count; j++) { if (animalRacingData.listOtherPlayerData[j].IsEqual(animalRacingData.currentResultData.listGoldUpdate[i].sessionId)) { animalRacingData.listOtherPlayerData[j].gold = animalRacingData.currentResultData.listGoldUpdate[i].GOLD; break; } } } } } else { if (animalRacingData.currentResultData.valueCheck == -99) { PopupManager.Instance.CreatePopupMessage(MyLocalize.GetString(MyLocalize.kError) , MyLocalize.GetString(MyLocalize.kConnectionError) , string.Empty , MyLocalize.GetString(MyLocalize.kOk)); } } // --- Cập nhật lại history và tỉ lệ cược mới --- // AnimalRacingData.HistoryData _tmpHistoryData = new AnimalRacingData.HistoryData(); _tmpHistoryData.animalType = animalRacingData.currentResultData.animalWin; _tmpHistoryData.score = animalRacingData.listCurrentScore[(int)_tmpHistoryData.animalType]; animalRacingData.listHistoryData.Insert(0, _tmpHistoryData); animalRacingData.CheckListHistoryAgain(); animalRacingData.listCurrentScore = animalRacingData.currentResultData.newListCurrentScore; animalRacingData.listGlobalBets = animalRacingData.currentResultData.newListGlobalBet; animalRacingData.listMyBets = animalRacingData.currentResultData.newListMyBet; // ----------------------------------------------- // callbackManager.onStartSetUpAfterShowResult = betManager.SetUpAfterShowResult; callbackManager.onEndSetUpAfterShowResult = () => { animalRacingData.currentResultData = null; currentState = State.Bet; }; // ----------------------- // yield return(null); // #if TEST // Debug.Log(">>> ShowResultScreen"); // #endif yield return(resultManager.StartRun()); _isFinished = false; shadowChangeScreen.gameObject.SetActive(true); _c = shadowChangeScreen.color; _c.a = 0f; shadowChangeScreen.color = _c; LeanTween.alpha(shadowChangeScreen.rectTransform, 1f, 0.1f).setOnComplete(() => { resultManager.Hide(); animalRacingData.nextTimeToShowResult = animalRacingData.currentResultData.nextTimeToShowResult; if (callbackManager != null && callbackManager.onEndShowResult != null) { callbackManager.onEndShowResult(); } ShowBetScreenAgain(); LeanTween.alpha(shadowChangeScreen.rectTransform, 0f, 0.1f).setOnComplete(() => { shadowChangeScreen.gameObject.SetActive(false); _isFinished = true; }); }); yield return(new WaitUntil(() => _isFinished)); }