| using System; | 
| using System.Collections; | 
| using System.Collections.Generic; | 
| using UnityEngine; | 
| using UnityEngine.UI; | 
|   | 
| public class LoadingWin : UIBase | 
| { | 
|     protected int currentProgress = 0; | 
|     protected int targetProgress = 0; | 
|   | 
|     // [SerializeField] UIAlphaTween m_AlphaTween; | 
|     [SerializeField] RawImage m_BackGround; | 
|     [SerializeField] SmoothSlider m_PartProgressSlider; | 
|     [SerializeField] SmoothSlider m_TotalProgressSlider; | 
|     [SerializeField] Text m_StageDescription; | 
|     [SerializeField] Text m_Version; | 
|     // [SerializeField] Button m_UserHelp; | 
|   | 
|     protected List<Sprite> backGrounds = new List<Sprite>(); | 
|   | 
|     protected float backGroundTimer = 0f; | 
|     protected int backGroundIndex = 0; | 
|   | 
|     protected override void InitComponent() | 
|     { | 
|         base.InitComponent(); | 
|   | 
|         // if (Application.isEditor) | 
|         // { | 
|         //     if (m_BackGround.overrideSprite == null) | 
|         //     { | 
|         //         var sprite = BuiltInLoader.LoadSprite("Launch_1"); | 
|         //         m_BackGround.overrideSprite = sprite; | 
|         //     } | 
|         // } | 
|         // else | 
|         // { | 
|         //     if (backGrounds.Count <= 0) | 
|         //     { | 
|         //         for (var i = 0; i < 3; i++) | 
|         //         { | 
|         //             var sprite = BuiltInLoader.LoadSprite(StringUtility.Contact("Launch_", i + 1)); | 
|         //             if (sprite != null) | 
|         //             { | 
|         //                 backGrounds.Add(sprite); | 
|         //             } | 
|         //         } | 
|   | 
|         //         m_BackGround.overrideSprite = backGrounds[0]; | 
|         //     } | 
|         // } | 
|     } | 
|   | 
|     protected override void OnPreOpen() | 
|     { | 
|         base.OnPreOpen(); | 
|         currentProgress = targetProgress = 0; | 
|         Refresh(); | 
|         //打包版本 + 功能版本 + 语言ID | 
|         m_Version.text = LoginManager.Instance.GetVersionStr(); | 
|     } | 
|   | 
|     protected override void OnPreClose() | 
|     { | 
|         base.OnPreClose(); | 
|     } | 
|   | 
|     public override void Refresh() | 
|     { | 
|         base.Refresh(); | 
|         UpdateProgress(); | 
|     } | 
|   | 
|     public void SetProgress(float value, bool directly = false) | 
|     { | 
|         if (directly) | 
|         { | 
|             currentProgress = targetProgress = Mathf.Min((int)(value * 100), 100); | 
|             UpdateProgress(); | 
|         } | 
|         else | 
|         { | 
|             targetProgress = Mathf.Min((int)(value * 100), 100); | 
|         } | 
|     } | 
|   | 
|     protected void UpdateProgress() | 
|     { | 
|         // Debug.LogErrorFormat("cur : {0}  /  target {1}", currentProgress, targetProgress); | 
|         if (currentProgress < targetProgress) | 
|         { | 
|             currentProgress = (int)Mathf.Lerp(currentProgress, targetProgress, 0.1f); | 
|             m_TotalProgressSlider.value = currentProgress / 100f; | 
|             m_PartProgressSlider.value = currentProgress / 100f; | 
|         } | 
|         else | 
|         { | 
|             m_TotalProgressSlider.value = currentProgress / 100f; | 
|             m_PartProgressSlider.value = currentProgress / 100f; | 
|         } | 
|         CopiedLogic_UpdateProgress(); | 
|     } | 
|   | 
|     private void CopiedLogic_UpdateProgress() | 
|     { | 
|         //  暂留接口 | 
|   | 
|         //  好像都不应该在这里写东西了 | 
|         //  m_TotalProgressSlider跟m_PartProgressSlider都有自己新的逻辑 | 
|         //  m_StageDescription有固定的文字 | 
|   | 
|         //  iOS如果不是download那也都是隐藏的 这里肯定不会有download的 所以就不搬了 | 
|     } | 
|   | 
|     protected void LateUpdate() | 
|     { | 
|         UpdateProgress(); | 
|         // CopiedLogic_LateUpdate(); | 
|     } | 
|   | 
|     private void CopiedLogic_LateUpdate() | 
|     { | 
|         // backGroundTimer += Time.deltaTime; | 
|         // if (backGroundTimer >= 3f) | 
|         // { | 
|         //     backGroundTimer -= 3f; | 
|         //     if (backGrounds.Count > 1) | 
|         //     { | 
|         //         m_BackGround.overrideSprite = backGrounds[(++backGroundIndex) % backGrounds.Count]; | 
|         //     } | 
|   | 
|         //     //  考虑在这里做这个描述的切换 或者根据图片来做提示词 | 
|         //     // m_StageDescription.text = ""; | 
|         // } | 
|     } | 
|   | 
|     public void SetData(LaunchWinData _launchWinData) | 
|     { | 
|         backGroundTimer = _launchWinData.backGroundTimer; | 
|         backGroundIndex = _launchWinData.backGroundIndex; | 
|         // m_BackGround.overrideSprite = _launchWinData.sprite; | 
|         backGrounds = _launchWinData.sprites; | 
|         m_StageDescription.text = Language.GetFromLocal(44);//最后Completed一定是这个 考虑要不要塞入LaunchWinData.. | 
|     } | 
| } |