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(); } } RoleParticularModel m_RoleParticularModel; RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel(); } } [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); }); } } } }