using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using vnxbqy.UI;
|
using UnityEngine.UI;
|
|
namespace EnhancedUI.EnhancedScroller
|
{
|
public class RoleStrongerCell : ScrollerUI
|
{
|
RolePromoteModel m_Model;
|
RolePromoteModel model
|
{
|
get { return ModelCenter.Instance.GetModel<RolePromoteModel>(); }
|
}
|
|
RoleParticularModel m_RoleParticularModel;
|
RoleParticularModel roleParticularModel
|
{
|
get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); }
|
}
|
|
[SerializeField] Image m_FuncIcon;
|
[SerializeField] Text m_FightPower;
|
[SerializeField] Text m_FuncName;
|
[SerializeField] Image m_State;
|
[SerializeField] Slider m_Slider;
|
[SerializeField] Text m_Progress;
|
[SerializeField] Button m_Goto;
|
|
public override void Refresh(CellView cell)
|
{
|
int funcType = cell.index;
|
var config = model.GetPresentRoleStronger(funcType);
|
m_Goto.onClick.RemoveAllListeners();
|
if (config != null)
|
{
|
m_FuncIcon.SetSprite(config.Icon);
|
m_FuncName.text = config.Name;
|
ulong fightPower = roleParticularModel.GetFuncFightPower(funcType);
|
var highestStage = fightPower >= (ulong)config.recommendFightPower;
|
m_FightPower.text = Language.Get("RolePromoteNowFight", fightPower);
|
|
var progress = Mathf.Clamp01((float)fightPower / config.recommendFightPower);
|
var percent = (int)(progress * 100);
|
|
m_Slider.value = progress;
|
m_Progress.text = StringUtility.Contact(percent, "%");
|
|
var state = model.GetPromoteState(percent);
|
switch (state)
|
{
|
case 0:
|
m_State.SetSprite("XT_WYBQ_3");
|
break;
|
case 1:
|
m_State.SetSprite("XT_WYBQ_2");
|
break;
|
case 2:
|
m_State.SetSprite("XT_WYBQ_1");
|
break;
|
}
|
m_State.SetNativeSize();
|
|
m_Goto.onClick.AddListener(() =>
|
{
|
WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)config.OpenUI);
|
});
|
|
}
|
}
|
}
|
}
|
|