少年修仙传客户端代码仓库
client_Wu Xijin
2019-02-03 96a114dda4b644846c7d3d04dccaada227bb1d6d
3335 重构窗口管理
6个文件已修改
159 ■■■■■ 已修改文件
Core/GameEngine/Login/Launch.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Login/LoginStage.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/BagWin.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Launch/LaunchBackGroundWin.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Tip/ExperienceGetWin.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Tip/SpGetWin.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Login/Launch.cs
@@ -884,9 +884,6 @@
        {
            expectTime = timer;
            DebugEx.LogFormat("{0}执行时长:{1};", this.GetType().Name, timer);
            var launchBackGroundWin = WindowCenter.Instance.Get<LaunchBackGroundWin>();
            launchBackGroundWin.transform.SetAsFirstSibling();
        }
        public override void Update()
Core/GameEngine/Login/LoginStage.cs
@@ -15,13 +15,6 @@
        WindowCenter.Instance.Open<MessageWin>();
        WindowCenter.Instance.Close<FightingPKWin>();
        WindowCenter.Instance.Open<LaunchBackGroundWin>(true);
        var backGroundWin = WindowCenter.Instance.Get<LaunchBackGroundWin>();
        if (backGroundWin != null)
        {
            backGroundWin.ShowLoginEffect();
        }
        if (VersionUtility.Instance.InIosAuditTime())
        {
System/KnapSack/New/BagWin.cs
@@ -69,11 +69,17 @@
            playerPack.RefreshPackAct += RefreshPackModel;
            playerPack.GridRefreshEvent += OnPackCanUseGrid;
        }
        protected override void OnAfterOpen() {
            Transform parent = WindowCenter.Instance.Get<KnapSackWin>().transform;
            this.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
            this.transform.SetAsLastSibling();
            var knapSackWin = WindowCenter.Instance.Get<KnapSackWin>();
            if (knapSackWin!=null)
            {
                Transform parent = knapSackWin.transform;
                this.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
                this.transform.SetAsLastSibling();
            }
            OnRefrenshUIModel();
            if(KnapSackWin.titleType == KnapsackFuncTitle.bag
                && LocalSave.GetString(PlayerPackModel.RecordKnapsackTitle) != KnapsackFuncTitle.depot.ToString())
@@ -84,7 +90,6 @@
            CheckAchieveJump();
            LocalSave.SetString(PlayerPackModel.RecordKnapsackTitle, KnapSackWin.titleType.ToString());
        }
  
        protected override void OnPreClose() {
System/Launch/LaunchBackGroundWin.cs
@@ -54,14 +54,22 @@
            {
                loginEffect.gameObject.SetActive(false);
            }
            this.transform.SetAsFirstSibling();
        }
        protected override void OnAfterOpen()
        {
            StageLoad.Instance.onStageLoadFinish += ShowLoginEffect;
            if (StageLoad.Instance.currentStage is LoginStage)
            {
                ShowLoginEffect();
            }
        }
        protected override void OnPreClose()
        {
            StageLoad.Instance.onStageLoadFinish -= ShowLoginEffect;
            Resources.UnloadAsset(m_SkeletonGraphic.material);
        }
@@ -83,7 +91,7 @@
        }
        #endregion
        public void ShowLoginEffect()
        void ShowLoginEffect()
        {
            if (!useStaticBackGround)
            {
System/Tip/ExperienceGetWin.cs
@@ -24,13 +24,50 @@
    static void OnGetNewExperience(int _source, int _billionsExperience, int _unitExperience)
    {
        if (!WindowCenter.Instance.IsOpen<ExperienceGetWin>())
        if (!WindowCenter.Instance.IsOpen("ExperienceGetWin"))
        {
            WindowCenter.Instance.Open<ExperienceGetWin>(true);
        }
        ExperienceGetWin win = WindowCenter.Instance.Get<ExperienceGetWin>();
        win.OnGetNewExperience(_source, _billionsExperience * (long)100000000 + _unitExperience);
        var experience = _billionsExperience * (long)100000000 + _unitExperience;
        if (experienceQueue.Count >= queueMax)
        {
            experienceQueue.Dequeue();
        }
        experienceQueue.Enqueue(new Experience()
        {
            source = _source,
            value = experience
        });
    }
    public static bool GetExperience(out Experience exp)
    {
        if (experienceQueue.Count > 0)
        {
            exp = experienceQueue.Dequeue();
            return true;
        }
        else
        {
            exp = default(Experience);
            return false;
        }
    }
    public static void Clear()
    {
        experienceQueue.Clear();
    }
    static int queueMax = 10;
    static Queue<Experience> experienceQueue = new Queue<Experience>();
    public struct Experience
    {
        public int source;
        public long value;
    }
}
@@ -45,9 +82,6 @@
        float interval = 0.2f;
        float nextShowTime = 0f;
        int queueMax = 10;
        Queue<Experience> experienceQueue = new Queue<Experience>();
        #region Built-in
        protected override void BindController()
@@ -68,7 +102,7 @@
        protected override void OnPreClose()
        {
            experienceQueue.Clear();
            ExperienceGetBehaviour.Clear();
            ExperienceFloatPool.RecycleAll();
        }
@@ -78,46 +112,26 @@
        }
        #endregion
        public void OnGetNewExperience(int _source, long _experience)
        {
            if (experienceQueue.Count >= queueMax)
            {
                experienceQueue.Dequeue();
            }
            experienceQueue.Enqueue(new Experience()
            {
                source = _source,
                value = _experience
            });
        }
        protected override void LateUpdate()
        {
            base.LateUpdate();
            if (Time.time > nextShowTime)
            {
                if (experienceQueue.Count > 0)
                ExperienceGetBehaviour.Experience exp;
                if (ExperienceGetBehaviour.GetExperience(out exp))
                {
                    var exp = experienceQueue.Dequeue();
                    var experienceFloat = ExperienceFloatPool.Require(exp.source == 4 ? ExperienceFloat.Pattern.LongFeng : ExperienceFloat.Pattern.Normal);
                    experienceFloat.gameObject.SetActive(true);
                    experienceFloat.transform.SetParentEx(m_ResetPoint, Vector3.zero, Quaternion.identity, Vector3.one);
                    experienceFloat.Begin(exp.source, exp.value);
                    nextShowTime = Time.time + interval;
                }
            }
        }
        public struct Experience
        {
            public int source;
            public long value;
        }
    }
}
System/Tip/SpGetWin.cs
@@ -11,6 +11,8 @@
public class SpGetBehaviour
{
    static int queueMax = 10;
    static Queue<long> spQueue = new Queue<long>();
    public static void Init()
    {
@@ -24,15 +26,36 @@
    static void OnGetNewSp(long _sp)
    {
        if (!WindowCenter.Instance.IsOpen<SpGetWin>())
        if (!WindowCenter.Instance.IsOpen("SpGetWin"))
        {
            WindowCenter.Instance.Open<SpGetWin>(true);
        }
        var win = WindowCenter.Instance.Get<SpGetWin>();
        win.OnGetNewSp(_sp);
        if (spQueue.Count >= queueMax)
        {
            spQueue.Dequeue();
        }
        spQueue.Enqueue(_sp);
    }
    public static long GetSp()
    {
        if (spQueue.Count > 0)
        {
            return spQueue.Dequeue();
        }
        else
        {
            return 0;
        }
    }
    public static void Clear()
    {
        spQueue.Clear();
    }
}
namespace Snxxz.UI
@@ -40,15 +63,10 @@
    public class SpGetWin : Window
    {
        [SerializeField]
        Transform m_ResetPoint;
        [SerializeField] Transform m_ResetPoint;
        float interval = 0.2f;
        float nextShowTime = 0f;
        int queueMax = 10;
        Queue<long> spQueue = new Queue<long>();
        #region Built-in
        protected override void BindController()
@@ -69,7 +87,7 @@
        protected override void OnPreClose()
        {
            spQueue.Clear();
            SpGetBehaviour.Clear();
            SpFloatPool.RecycleAll();
        }
@@ -79,25 +97,15 @@
        }
        #endregion
        public void OnGetNewSp(long _sp)
        {
            if (spQueue.Count >= queueMax)
            {
                spQueue.Dequeue();
            }
            spQueue.Enqueue(_sp);
        }
        protected override void LateUpdate()
        {
            base.LateUpdate();
            if (Time.time > nextShowTime)
            {
                if (spQueue.Count > 0)
                var sp = SpGetBehaviour.GetSp();
                if (sp > 0)
                {
                    var sp = spQueue.Dequeue();
                    var spFloat = SpFloatPool.Require();
                    spFloat.gameObject.SetActive(true);
                    spFloat.transform.SetParentEx(m_ResetPoint, Vector3.zero, Quaternion.identity, Vector3.one);