少年修仙传客户端代码仓库
client_Hale
2019-01-09 e913af885d4cb2bb038555502c9769137b6ca187
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
6个文件已修改
2个文件已添加
260 ■■■■■ 已修改文件
Core/GameEngine/Model/Player/Realm/RealmModel.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Login/CrossServerLogin.cs 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/ChatFrame.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/AdaptiveRect.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/AdaptiveRect.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmProgressBehaviour.cs 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmStageBehaviour.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmUpWin.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Realm/RealmModel.cs
@@ -37,6 +37,7 @@
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshInfo;
            StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
            NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent;
            NewBieCenter.Instance.guideBeginEvent += GuideBeginEvent;
            BossShowModel.Instance.bossShowCompletedEvent += BossShowCompletedEvent;
            FairyFeastTransmitShow.Instance.onComplete += BossShowCompletedEvent;
        }
@@ -55,6 +56,8 @@
        public int realmGuardianDisplayTime { get; private set; }
        public bool excuteRealmOpenGuide { get; private set; }
        public bool realmDungeonState
        {
            get { return LocalSave.GetBool(StringUtility.Contact(PlayerDatas.Instance.PlayerId, "_RealmDungeon_Show")); }
@@ -64,6 +67,15 @@
        private void GuideCompletedEvent(int _id)
        {
            SnxxzGame.Instance.StartCoroutine(Co_GuideComplete());
        }
        private void GuideBeginEvent()
        {
            if (NewBieCenter.Instance.inGuiding &&
                NewBieCenter.Instance.currentGuide == 36)
            {
                excuteRealmOpenGuide = true;
            }
        }
        IEnumerator Co_GuideComplete()
@@ -85,6 +97,7 @@
            if (!(StageManager.Instance.CurrentStage is DungeonStage))
            {
                cacheMapId = 0;
                excuteRealmOpenGuide = false;
                return;
            }
            if (PlayerDatas.Instance.baseData.MapID == REALM_DUNGEON_ID)
System/Login/CrossServerLogin.cs
@@ -76,6 +76,7 @@
            WindowCenter.Instance.Open<LoadingWin>();
            oneVsOnePlayerData = oneVsOnePlayerData.SetWaitForLoginCrossServer(false);
            AccountLogin(account, ip, port, false);
        }
@@ -101,22 +102,8 @@
                return;
            }
            reLoginTimes = 0;
            busy = true;
            if (Time.time - lastLoginTime < 15)
            {
                reLoginTimes++;
                if (reLoginTimes > 2)
                {
                    ProcessLoginFailure();
                    return;
                }
            }
            else
            {
                reLoginTimes = 0;
            }
            lastLoginTime = Time.time;
            try
            {
                this.reconnectBackGround = reconnectBackGround;
@@ -125,7 +112,7 @@
                gamePortBuf = gamePort;
                StopLoginOverTimeProcess();
                loginOverTimeClock = Clock.Create(DateTime.Now + new TimeSpan(10 * TimeSpan.TicksPerSecond), () =>
                loginOverTimeClock = Clock.Create(DateTime.Now + new TimeSpan(30 * TimeSpan.TicksPerSecond), () =>
                {
                    busy = false;
                    ReAccountLogin();
@@ -149,25 +136,18 @@
            }
            busy = true;
            if (Time.time - lastLoginTime < 15)
            reLoginTimes++;
            if (reLoginTimes > 1)
            {
                reLoginTimes++;
                if (reLoginTimes > 2)
                {
                    ProcessLoginFailure();
                    return;
                }
            }
            else
            {
                reLoginTimes = 0;
                ProcessLoginFailure();
                return;
            }
            lastLoginTime = Time.time;
            try
            {
                this.reconnectBackGround = true;
                StopLoginOverTimeProcess();
                loginOverTimeClock = Clock.Create(DateTime.Now + new TimeSpan(10 * TimeSpan.TicksPerSecond), () =>
                loginOverTimeClock = Clock.Create(DateTime.Now + new TimeSpan(30 * TimeSpan.TicksPerSecond), () =>
                 {
                     busy = false;
                     ReAccountLogin();
System/MainInterfacePanel/ChatFrame.cs
@@ -184,6 +184,7 @@
            {
                m_RealmLV.SetSprite("NoRealm");
            }
            m_RealmLV.SetNativeSize();
        }
System/Realm/AdaptiveRect.cs
New file
@@ -0,0 +1,55 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
namespace Snxxz.UI
{
    [ExecuteInEditMode]
    public class AdaptiveRect : UIBehaviour
    {
        [SerializeField] RectTransform m_Target;
        [SerializeField] Vector2 m_Offset;
        RectTransform m_Rect;
        RectTransform rectTransform
        {
            get
            {
                if (m_Rect == null)
                {
                    m_Rect = GetComponent<RectTransform>();
                }
                return m_Rect;
            }
        }
        protected override void OnEnable()
        {
            UpdateRect();
        }
        [ExecuteInEditMode]
        private void LateUpdate()
        {
            UpdateRect();
        }
        void UpdateRect()
        {
            if (m_Target == null)
            {
                return;
            }
            var width = rectTransform.sizeDelta.x;
            var height = rectTransform.sizeDelta.y;
            var targetWidth = m_Target.sizeDelta.x + m_Offset.x;
            var targetHeight = m_Target.sizeDelta.y + m_Offset.y;
            if (width != targetWidth || height != targetHeight)
            {
                rectTransform.sizeDelta = new Vector2(targetWidth, targetHeight);
            }
        }
    }
}
System/Realm/AdaptiveRect.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 8539f5b53b285c441b85a821a78bb1a4
timeCreated: 1547017060
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Realm/RealmProgressBehaviour.cs
@@ -13,8 +13,10 @@
        [SerializeField] Text m_RealmPoint;
        [SerializeField] Text m_OpenRemind;
        [SerializeField] RectTransform m_ContainerPoint;
        [SerializeField] float[] m_StageLeftRatio;
        [SerializeField] float[] m_StageRightRatio;
        [SerializeField] float m_StartRealmPositionx;
        [SerializeField] float m_EndRealmPositionx;
        [SerializeField] float m_BigRealmBottomWidth;
        [SerializeField] float m_Spacing;
        [SerializeField] RectTransform m_ContainerRemind;
        [SerializeField] PropertyBehaviour m_SpecialProperty;
@@ -22,13 +24,15 @@
        RealmModel model { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
        float leftRatio = 0;
        static readonly Vector2 middleLeft = new Vector2(0, 0.5f);
        static readonly Vector2 middleRight = new Vector2(1, 0.5f);
        static readonly Vector2 middleCenter = new Vector2(0.5f, 0.5f);
        float leftRatio = 0f;
        float rightRatio = 0;
        public void Display()
        {
            leftRatio = 0;
            rightRatio = 0;
            DisplayStages();
            DisplayProgress();
        }
@@ -36,32 +40,73 @@
        void DisplayStages()
        {
            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
            int start = 0;int end = 0;
            int start = 0; int end = 0;
            model.TryGetRealmStage(realmLevel, out start, out end);
            var leftIndex = 0;
            var rightIndex = 0;
            var index = 0;
            m_ContainerRemind.gameObject.SetActive(false);
            for (int i = start; i <= realmLevel; i++)
            {
                m_RealmStages[index].transform.localPosition = GetStagePosition(true, leftIndex);
                var rect = m_RealmStages[index].transform as RectTransform;
                rect.anchorMax = middleLeft;
                rect.anchorMin = middleLeft;
                rect.pivot = middleLeft;
                if (i == start)
                {
                    rect.anchoredPosition = new Vector2(m_StartRealmPositionx, 0);
                    leftRatio = (m_StartRealmPositionx + m_RealmStages[0].GetWidth(i) / 2) / m_ContainerPoint.rect.width;
                }
                else
                {
                    var width = 0f;
                    for (int k = start; k < i; k++)
                    {
                        width += m_RealmStages[0].GetWidth(k);
                        width += m_Spacing;
                    }
                    var positionx = m_StartRealmPositionx + width;
                    rect.anchoredPosition = new Vector2(positionx, 0);
                    if (i == realmLevel)
                    {
                        leftRatio = (positionx + m_RealmStages[0].GetWidth(i) / 2) / m_ContainerPoint.rect.width;
                    }
                }
                m_RealmStages[index].gameObject.SetActive(true);
                m_RealmStages[index].Display(i, false, true, leftIndex);
                leftRatio = m_StageLeftRatio[leftIndex];
                leftIndex++;
                m_RealmStages[index].Display(i, false);
                index++;
            }
            end = end == model.realmMaxLevel ? end : (end + 1);
            for (int i = end; i > realmLevel; i--)
            {
                m_RealmStages[index].transform.localPosition = GetStagePosition(false, rightIndex);
                var rect = m_RealmStages[index].transform as RectTransform;
                rect.anchorMax = middleRight;
                rect.anchorMin = middleRight;
                if (i == end)
                {
                    rect.pivot = middleCenter;
                    rect.anchoredPosition = new Vector2(m_EndRealmPositionx, 0);
                    rightRatio = Mathf.Abs(m_EndRealmPositionx) / m_ContainerPoint.rect.width;
                }
                else
                {
                    var width = 0f;
                    for (int k = end - 1; k > i; k--)
                    {
                        width += m_RealmStages[0].GetWidth(k);
                        width += m_Spacing;
                    }
                    rect.pivot = middleRight;
                    var positionx = m_EndRealmPositionx - m_BigRealmBottomWidth / 2 - m_Spacing - width;
                    rect.anchoredPosition = new Vector2(positionx, 0);
                    if (i == realmLevel + 1)
                    {
                        rightRatio = (Mathf.Abs(positionx) + m_RealmStages[0].GetWidth(i) / 2) / m_ContainerPoint.rect.width;
                    }
                }
                m_RealmStages[index].gameObject.SetActive(true);
                m_RealmStages[index].Display(i, i == end, false, rightIndex);
                m_RealmStages[index].Display(i, i == end);
                DisplayRemind(i);
                rightRatio = m_StageRightRatio[rightIndex];
                rightIndex++;
                index++;
            }
            for (int i = index; i < m_RealmStages.Length; i++)
@@ -72,7 +117,7 @@
        public void DisplayProgress(bool anim = false)
        {
            var deltaRatio = rightRatio - leftRatio;
            var deltaRatio = 1 - leftRatio - rightRatio;
            var realmPoint = PlayerDatas.Instance.extersion.realmPoint;
            var config = Config.Instance.Get<RealmConfig>(PlayerDatas.Instance.baseData.realmLevel);
            var progress = leftRatio + deltaRatio * (Mathf.Min((float)realmPoint / config.NeedPoint, 1));
@@ -106,34 +151,6 @@
                m_HurtRemind.text = UIHelper.ReplaceNewLine(Language.Get("RealmSuppressHurt", UIHelper.GetRealmName(config.Lv), (float)model.realmSuppressHurt / 100));
            }
        }
        Vector3 GetStagePosition(bool left, int index)
        {
            if (left && index >= m_StageLeftRatio.Length)
            {
                return Vector3.zero;
            }
            if (!left && index >= m_StageRightRatio.Length)
            {
                return Vector3.zero;
            }
            var ratio = left ? m_StageLeftRatio[index] : m_StageRightRatio[index];
            Vector3 localpos = Vector3.zero.SetX(m_ContainerPoint.rect.width * ratio);
            return localpos;
        }
#if UNITY_EDITOR
        private void LateUpdate()
        {
            for (int i = 0; i < m_RealmStages.Length; i++)
            {
                if (m_RealmStages[i].gameObject.activeSelf)
                {
                    m_RealmStages[i].transform.localPosition = GetStagePosition(m_RealmStages[i].left, m_RealmStages[i].index);
                }
            }
        }
#endif
    }
}
System/Realm/RealmStageBehaviour.cs
@@ -12,10 +12,9 @@
        [SerializeField] Image m_RealmCompleted;
        [SerializeField] Image m_Arrow;
        [SerializeField] Image m_Last;
        [SerializeField] VerticalLayoutGroup m_Layout;
        public bool left { get; private set; }
        public int index { get; private set; }
        public void Display(int _realmLv, bool last, bool left, int index)
        public void Display(int _realmLv, bool last)
        {
            var config = Config.Instance.Get<RealmConfig>(_realmLv);
            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
@@ -26,9 +25,20 @@
                m_Arrow.gameObject.SetActive(realmLevel == _realmLv);
                m_Last.gameObject.SetActive(last);
            }
        }
            this.left = left;
            this.index = index;
        public float GetWidth(int realmLevel)
        {
            var config = Config.Instance.Get<RealmConfig>(realmLevel);
            if (config != null)
            {
                var sprite = UILoader.LoadSprite(config.Img);
                if (sprite)
                {
                    return sprite.rect.width + m_Layout.padding.left + m_Layout.padding.right;
                }
            }
            return 86 + m_Layout.padding.left + m_Layout.padding.right;
        }
    }
}
System/Realm/RealmUpWin.cs
@@ -99,6 +99,20 @@
                m_RawPlayer.gameObject.SetActive(true);
                UI3DModelExhibition.Instance.ShowSitDownPlayer(m_RawPlayer, PlayerDatas.Instance.baseData.Job);
            }
            var _realmPoint = PlayerDatas.Instance.extersion.realmPoint;
            var config = Config.Instance.Get<RealmConfig>(PlayerDatas.Instance.baseData.realmLevel);
            bool satisfyChallenge = false;
            if (config != null)
            {
                satisfyChallenge = _realmPoint >= config.NeedPoint;
            }
            if (satisfyChallenge && !NewBieCenter.Instance.inGuiding
                && !NewBieCenter.Instance.IsGuideCompleted(35)
                && realmModel.excuteRealmOpenGuide)
            {
                NewBieCenter.Instance.StartNewBieGuide(35);
            }
        }
        protected override void OnAfterOpen()