| using System;  | 
| using System.Collections;  | 
| using System.Collections.Generic;  | 
| using UnityEngine;  | 
| using UnityEngine.UI;  | 
|   | 
| namespace vnxbqy.UI  | 
| {  | 
|     public class DungeonExpUpVictoryWin : DungeonVictoryWin  | 
|     {  | 
|         [SerializeField] ScaleTween m_NewRecordTween;  | 
|         [SerializeField] ScaleTween m_ShockTween;  | 
|   | 
|         [SerializeField] RectTransform m_ContainerLevelUp;  | 
|         [SerializeField] Text m_BeforeLv;  | 
|         [SerializeField] Text m_CurrentLv;  | 
|   | 
|         [SerializeField] Image m_GradeImg; //评分图  | 
|         [SerializeField] Text m_GradePer;  //评分加成  | 
|         [SerializeField] Text m_GradeExp;  //评分经验  | 
|   | 
|         protected override void Display()  | 
|         {  | 
|             m_ShockTween.SetEndState();  | 
|             m_ContainerPoivt.SetActive(true);  | 
|   | 
|             var expDrugCon = GetWidgt<Transform>("Container_ExpDrug");  | 
|             var expDrugText = GetWidgt<Text>("Txt_ExpDrug");  | 
|             var closeButton = GetWidgt<Button>("Close");  | 
|   | 
|             if (dungeonModel.dungeonResult.isSweep == 0)  | 
|             {  | 
|                 base.RequireDungeonExit();  | 
|                 base.DrawPassTime();  | 
|                 expDrugCon.SetActive(false);  | 
|                 closeButton.SetActive(false);  | 
|             }  | 
|             else  | 
|             {  | 
|                 m_Exit.SetActive(false);  | 
|                 GetWidgt<Transform>("Container_PassTime").SetActive(false);  | 
|                   | 
|                 expDrugCon.SetActive(true);  | 
|                 closeButton.SetActive(true);  | 
|                 closeButton.AddListener(()=> {  | 
|                     Close();  | 
|                 });  | 
|                 int buffid = 0;  | 
|                 var dungeonLiquidModel = ModelCenter.Instance.GetModel<DungeonLiquidModel>();  | 
|                 var Buffmodel = ModelCenter.Instance.GetModel<BuffModel>();  | 
|                 for (int i = 0; i < dungeonLiquidModel.liquidItems.Count; i++)  | 
|                 {  | 
|                     ItemConfig cfg = ItemConfig.Get(dungeonLiquidModel.liquidItems[i]);  | 
|                     if (Buffmodel._BuffDic.ContainsKey(cfg.AddSkill1))  | 
|                     {  | 
|                         buffid = cfg.AddSkill1;  | 
|                         break;  | 
|                     }  | 
|                 }  | 
|                 if (buffid != 0)  | 
|                 {  | 
|                     SkillConfig skillCfg = SkillConfig.Get(buffid);  | 
|                     if (skillCfg != null)  | 
|                     {  | 
|                         expDrugText.text = StringUtility.Contact(Language.Get("FairyLand_Func1"), ":<color=#00ff00>", skillCfg.EffectValue11 / 100, "%</color>",  | 
|                             "(", PlayerDatas.Instance.totalExpRate / 100, "%)");  | 
|                     }  | 
|                 }  | 
|                 else  | 
|                 {   | 
|                     expDrugText.text = StringUtility.Contact(Language.Get("FairyLand_Func1"), ":", Language.Get("FairyLand_Func2"));  | 
|                 }  | 
|   | 
|             }  | 
|             base.DrawGetExp();  | 
|             DrawNewRecord();  | 
|             DisplayLevelUp();  | 
|             DisplayGrade();  | 
|         }  | 
|   | 
|         protected override void DrawNewRecord()  | 
|         {  | 
|             base.DrawNewRecord();  | 
|             if (dungeonModel.dungeonResult.upPer > 0)  | 
|             {  | 
|                 m_NewRecordTween.Play(OnTweenComplete);  | 
|             }  | 
|         }  | 
|   | 
|         private void DisplayLevelUp()  | 
|         {  | 
|             var _lv = PlayerDatas.Instance.baseData.LV;  | 
|             m_ContainerLevelUp.SetActive(_lv > dungeonModel.dungeonResult.enterLV);  | 
|             if (_lv > dungeonModel.dungeonResult.enterLV)  | 
|             {  | 
|                 m_BeforeLv.text = dungeonModel.dungeonResult.enterLV.ToString();  | 
|                 m_CurrentLv.text = _lv.ToString();  | 
|             }  | 
|         }  | 
|   | 
|         private void OnTweenComplete()  | 
|         {  | 
|             m_ShockTween.SetStartState();  | 
|             m_ShockTween.Play();  | 
|         }  | 
|   | 
|   | 
|         private void DisplayGrade()  | 
|         {  | 
|             m_GradeImg.SetSprite(StringUtility.Contact("Remark_", UIHelper.GetStar(dungeonModel.dungeonResult.grade)));  | 
|             var rewardRate = DungeonOpenTimeConfig.Get(31080).RewardRate;  | 
|             m_GradePer.text = Language.Get("ExpFBGradePer", rewardRate[5 - dungeonModel.dungeonResult.grade]);  | 
|             m_GradeExp.text = UIHelper.ReplaceLargeNum((ulong)dungeonModel.dungeonResult.totalGradeExp);  | 
|         }  | 
|   | 
| #if UNITY_EDITOR  | 
|         [ContextMenu("预览动画")]  | 
|         public void Preview()  | 
|         {  | 
|             m_NewRecordTween.SetStartState();  | 
|             m_NewRecordTween.Play(OnTweenComplete);  | 
|         }  | 
| #endif  | 
|     }  | 
| }  | 
|   |