少年修仙传客户端代码仓库
client_linchunjie
2019-04-23 4f18ce4a4c06c6615f020851d82bf72f5b37c6ad
6580  【2.0】【前端】新增章节界面
4个文件已修改
120 ■■■■■ 已修改文件
System/Treasure/FunctionUnlockFlyObject.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureChapterWin.cs 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureModel.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/FunctionUnlockFlyObject.cs
@@ -68,6 +68,11 @@
                    UI3DTreasureExhibition.Instance.ShowTreasure(m_Id, m_TreasureIcon);
                    originalScale = 9f;
                    break;
                case FunctionUnlockType.TreasureChapter:
                    originalScale = 1f;
                    var treasureConfig = TreasureConfig.Get(m_Id);
                    m_FunctionIcon.SetSprite(treasureConfig.Icon);
                    break;
            }
            this.transform.localScale = Vector3.one * originalScale;
System/Treasure/TreasureChapterWin.cs
@@ -9,10 +9,27 @@
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class TreasureChapterWin : Window
    {
        [SerializeField] UIAlphaTween m_AlphaTween;
        [SerializeField] Text m_ChapterName;
        [SerializeField] Image m_ChapterIcon;
        [SerializeField] Image m_TreasureIcon;
        [SerializeField] Text m_Description;
        [SerializeField] Text m_CloseRemind;
        [SerializeField] Transform m_ContainerFly;
        [SerializeField] Button m_Close;
        float timer = 0f;
        bool flying = false;
        FunctionUnlockFlyObject flyObject = null;
        TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        #region Built-in
        protected override void BindController()
@@ -21,10 +38,34 @@
        protected override void AddListeners()
        {
            m_Close.AddListener(OnClickClose);
        }
        protected override void OnPreOpen()
        {
            if (flyObject != null)
            {
                Destroy(flyObject);
                flyObject = null;
            }
            timer = 0f;
            flying = false;
            m_CloseRemind.gameObject.SetActive(false);
            m_AlphaTween.from = 0f;
            m_AlphaTween.to = 1f;
            Display();
            m_AlphaTween.SetStartState();
        }
        protected override void OnActived()
        {
            base.OnActived();
            m_AlphaTween.Play();
        }
        protected override void OnAfterOpen()
@@ -38,8 +79,68 @@
        protected override void OnAfterClose()
        {
        }
        protected override void LateUpdate()
        {
            timer += Time.deltaTime;
            if (timer >= 2f)
            {
                if (!m_CloseRemind.gameObject.activeSelf)
                {
                    m_CloseRemind.gameObject.SetActive(true);
                }
            }
        }
        #endregion
        void Display()
        {
            var instance = UIUtility.CreateWidget("TreasureChapterFlyObject", "TreasureChapterFlyObject");
            instance.transform.SetParentEx(m_ContainerFly, Vector3.zero, Quaternion.identity, Vector3.one);
            flyObject = instance.GetComponent<FunctionUnlockFlyObject>();
            flyObject.SetContent(FunctionUnlockType.TreasureChapter, model.treasureChapterId);
            flyObject.gameObject.SetActive(true);
            var config = TreasureConfig.Get(model.treasureChapterId);
            if (config != null)
            {
                m_TreasureIcon.SetSprite(config.Icon);
            }
            var chapterConfig = TreasureChapterConfig.Get(model.treasureChapterId);
            if (chapterConfig != null)
            {
                m_ChapterIcon.SetSprite(chapterConfig.taskTitle);
                m_ChapterName.text = string.Format("第{0}章", Language.Get("Num_CHS_" + chapterConfig.chapterIndex));
                m_Description.text = chapterConfig.description;
            }
        }
        private void OnClickClose()
        {
            if (timer < 2f || flying)
            {
                return;
            }
            flying = true;
            m_AlphaTween.from = 1f;
            m_AlphaTween.to = 0f;
            m_AlphaTween.Play(OnTweenComplete);
        }
        private void OnTweenComplete()
        {
            if (flyObject != null)
            {
                flyObject.Begin(OnReach);
            }
        }
        private void OnReach()
        {
            CloseClick();
        }
    }
}
System/Treasure/TreasureModel.cs
@@ -996,10 +996,7 @@
        {
            if (isServerReady)
            {
                if (vNetData.MissionState == 3)
                {
                    TryShowTreasureChapter((int)vNetData.MissionID);
                }
            }
        }
@@ -1018,6 +1015,8 @@
                        break;
                    }
                }
                TryShowTreasureChapter((int)package.MissionID);
            }
        }
@@ -1065,7 +1064,7 @@
                if (config.taskId == taskId)
                {
                    treasureChapterId = config.id;
                    //PopupWindowsProcessor.Instance.Add()
                    PopupWindowsProcessor.Instance.Add("TreasureChapterWin");
                }
            }
        }
Utility/EnumHelper.cs
@@ -903,6 +903,7 @@
    TreasureSkill = 3,
    Skill = 4,
    TreasureFunc = 5,
    TreasureChapter = 6,
}
public enum RedPointState