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
|
}
|
}
|
|