From 6cc9f56e28978bede19629ce50947b9609080da5 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期三, 19 九月 2018 15:06:07 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/RolePromote/RoleStrongerCell.cs |   90 ++++++++++++++++++--------------------------
 1 files changed, 37 insertions(+), 53 deletions(-)

diff --git a/System/RolePromote/RoleStrongerCell.cs b/System/RolePromote/RoleStrongerCell.cs
index 04d7c6d..7a6ebbe 100644
--- a/System/RolePromote/RoleStrongerCell.cs
+++ b/System/RolePromote/RoleStrongerCell.cs
@@ -11,76 +11,60 @@
         RolePromoteModel m_Model;
         RolePromoteModel model
         {
-            get
-            {
-                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<RolePromoteModel>());
-            }
+            get { return ModelCenter.Instance.GetModel<RolePromoteModel>(); }
         }
 
         RoleParticularModel m_RoleParticularModel;
         RoleParticularModel roleParticularModel
         {
-            get
-            {
-                return m_RoleParticularModel ?? (m_RoleParticularModel = ModelCenter.Instance.GetModel<RoleParticularModel>());
-            }
+            get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); }
         }
 
-        [SerializeField] Image funcIcon;
-        [SerializeField] Text presentFightPowerTxt;
-        [SerializeField] Transform m_ContainerStrongerLabel;
-        [SerializeField] Text strongerFightPowerTxt;
-        [SerializeField] Text targetTxt;
-        [SerializeField] Text m_FuncTxt;
-        [SerializeField] Button strongerBtn;
-        [SerializeField] GameObject reachTxtObj;
-        [SerializeField] GameObject reachImgObj;
+        [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;
-            int presentTargetValue = 0;
-            bool reached = false;
-            var cfg = model.GetPresentRoleStronger(funcType, out presentTargetValue, out reached);
-            strongerBtn.onClick.RemoveAllListeners();
-            if (cfg != null)
+            var config = model.GetPresentRoleStronger(funcType);
+            m_Goto.onClick.RemoveAllListeners();
+            if (config != null)
             {
-                var highestStage = model.IsHighestStage(funcType, cfg.id) && reached;
-                funcIcon.SetSprite(cfg.Icon);
-                m_FuncTxt.text = cfg.Name;
-                ulong _presentFightPower = 0;
-                _presentFightPower = roleParticularModel.GetFuncFightPower(funcType);
-                presentFightPowerTxt.text = Language.Get("RolePromoteNowFight", _presentFightPower);
+                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);
 
-                strongerFightPowerTxt.text = StringUtility.Contact(_presentFightPower >= (ulong)cfg.recommendFightPower ? Language.Get("RolePromoteMoreFight") : Language.Get("RolePromoteBetterFight"),
-                    _presentFightPower >= (ulong)cfg.recommendFightPower ? cfg.strongerFightPower : cfg.recommendFightPower);
-                strongerFightPowerTxt.color = _presentFightPower >= (ulong)cfg.recommendFightPower ?
-                    UIHelper.GetUIColor(TextColType.Red) : UIHelper.GetUIColor(TextColType.Green, true);
-                if (!highestStage)
+                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)
                 {
-                    if (funcType == (int)FuncPowerType.Human
-                        || funcType == (int)FuncPowerType.Demon
-                        || funcType == (int)FuncPowerType.Fairy)
-                    {
-                        targetTxt.text = StringUtility.Contact(cfg.desc, "(", UIHelper.GetTextColorByItemColor(presentTargetValue > 0 ? TextColType.Green : TextColType.Red,
-                            presentTargetValue.ToString()), "/", 1, ")");
-                    }
-                    else
-                    {
-                        targetTxt.text = StringUtility.Contact(cfg.desc, "(", UIHelper.GetTextColorByItemColor(presentTargetValue >= cfg.targetValue ? TextColType.Green : TextColType.Red,
-                            presentTargetValue.ToString()), "/", cfg.targetValue, ")");
-                    }
+                    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();
 
-                reachTxtObj.SetActive(highestStage);
-                reachImgObj.SetActive(highestStage);
-                targetTxt.gameObject.SetActive(!highestStage);
-                strongerBtn.gameObject.SetActive(!highestStage);
-                m_ContainerStrongerLabel.gameObject.SetActive(!highestStage);
-
-                strongerBtn.onClick.AddListener(() =>
+                m_Goto.onClick.AddListener(() =>
                 {
-                    WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)cfg.OpenUI);
+                    WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)config.OpenUI);
                 });
 
             }

--
Gitblit v1.8.0