public void FixedUpdate() { float deltaTime = Time.deltaTime; m_stageTime += deltaTime; m_bUserDie = m_playerInfo.IsCharacterDie(); if ((m_iKillMonsterCount >= m_iMaxMonsterNum) && m_endUI.activeSelf == false) { m_stageUI.SetActive(false); m_bStageSuccess = true; StageEnd(); m_endUI.SetActive(true); EndUIActive(); m_playerCrowdControl.PlayerStateClear(); StageAudioManager.Inst.PlayAudioStateEnd(true); } else if (m_bUserDie && m_endUI.activeSelf == false) { m_stageUI.SetActive(false); StageEnd(); m_endUI.SetActive(true); EndUIActive(); m_playerCrowdControl.PlayerStateFail(); StageAudioManager.Inst.PlayAudioStateEnd(false); } if (m_endUI.activeSelf == true && m_fRewardTime > 0) { m_fRewardTime -= Time.fixedDeltaTime; if (m_fRewardTime <= 0) { if (m_bStageSuccess) { m_fPrevExp = (float)PlayerDataManager.Inst.GetPlayerData().exp; m_fPrevMaxExp = (float)PlayerDataManager.Inst.GetPlayerData().maxExp; PlayerDataManager.Inst.PlusExp(StageDataManager.Inst.stageDataSO.MainStageData[(int)m_nowStageIndex].rewardExp); m_fCurrentExp = (float)PlayerDataManager.Inst.GetPlayerData().exp; m_fCurrentMaxExp = (float)PlayerDataManager.Inst.GetPlayerData().maxExp; PlayerDataManager.Inst.SavePlayerData(PlayerDataManager.PlayerData.DATA_ENUM.DATA_ENUM_GOLD, StageDataManager.Inst.stageDataSO.MainStageData[(int)m_nowStageIndex].rewardGold); //StageDataManager.Inst.SaveStageData(); } m_rewardUI.SetActive(true); m_resultUiFail.SetActive(false); m_resultUiClear.SetActive(false); m_resultUiBG.SetActive(false); //StageEnd(); UpdateMaxStage(); } } if (m_rewardUI.activeSelf == true && m_bStageSuccess) { if (m_stageExpBar.fillAmount < ((float)m_fPrevExp + m_fRewardExp) / (float)m_fPrevMaxExp) { float tempSpeed = 0.3f; m_stageExpBar.fillAmount += tempSpeed * Time.fixedDeltaTime; m_stageExpText.text = (Mathf.Round(m_stageExpBar.fillAmount * 10000) / 100).ToString(); m_stageExpText.text += "%"; } if (m_stageExpBar.fillAmount >= 1) { m_fPrevExp = m_fCurrentExp; m_fPrevMaxExp = m_fCurrentMaxExp; m_stageExpBar.fillAmount = 0; m_fRewardExp = 0; m_LevelUpUI.SetActive(true); SetPlayerInfoInUILevel(); Invoke(nameof(LevelUpUIOff), 2f); } } UpdatePlayerUI(); }