少年修仙传客户端代码仓库
client_linchunjie
2019-03-25 3b7ab9acb36556a2fac6d8fbda89ce82316fc462
Merge branch 'master' into ReikiRoot
4个文件已修改
125 ■■■■■ 已修改文件
System/Equip/EquipModel.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemLogicUtility.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmModel.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmPoolBehaviour.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipModel.cs
@@ -523,6 +523,17 @@
                    break;
                case PlayerDataType.EquipShowSwitch:
                    UpdateAppearanceState(selectedLevel.value);
                    var level = (int)PlayerDatas.Instance.baseData.equipShowSwitch / 10;
                    if (level != 0 && level == selectedLevel.value)
                    {
                        var equipSet = GetEquipSet(level);
                        if (equipSet != null)
                        {
                            var config = RealmConfig.Get(equipSet.realm);
                            SysNotifyMgr.Instance.ShowTip("WearRealmEquip1", config.Name);
                        }
                    }
                    break;
                default:
                    break;
System/KnapSack/Logic/ItemLogicUtility.cs
@@ -29,6 +29,7 @@
        MagicianModel magicianModel { get { return ModelCenter.Instance.GetModel<MagicianModel>(); } }
        TrialDungeonModel trialModel { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } }
        ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        public void Init()
        {
@@ -765,7 +766,12 @@
                        return;
                    }
                }
            }
            }
            if (!equipModel.IsLevelUnLocked(model.config.LV))
            {
                return;
            }
            int isFightUp = IsFightUp(model.itemId, model.score);
            if (isFightUp != 1)
System/Realm/RealmModel.cs
@@ -64,6 +64,7 @@
        public readonly Redpoint levelUpRedpoint = new Redpoint(114, 11401);
        public readonly Redpoint challengeRedpoint = new Redpoint(114, 11402);
        public readonly Redpoint realmPoolRedpoint = new Redpoint(114, 11403);
        int m_SelectRealm = 0;
        public int selectRealm
@@ -86,6 +87,8 @@
        bool redpointDirty = false;
        bool serverInited = false;
        public List<int> displayRealms = new List<int>();
        public int displayRealmLevel
@@ -105,6 +108,7 @@
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        ActivitiesPushModel pushModel { get { return ModelCenter.Instance.GetModel<ActivitiesPushModel>(); } }
        public override void Init()
        {
@@ -120,12 +124,14 @@
            isBossPass = false;
            expStartTime = DateTime.Now;
            startExp = 0;
            serverInited = false;
            SysNotifyMgr.Instance.OnSystemNotifyEvent -= OnSystemNotifyEvent;
        }
        public void OnPlayerLoginOk()
        {
            redpointDirty = true;
            serverInited = true;
            SysNotifyMgr.Instance.OnSystemNotifyEvent -= OnSystemNotifyEvent;
            SysNotifyMgr.Instance.OnSystemNotifyEvent += OnSystemNotifyEvent;
@@ -145,6 +151,10 @@
            {
                RefreshRedpoint();
                redpointDirty = false;
            }
            if (serverInited)
            {
                RefreshRealmPoolRedpoint();
            }
        }
@@ -388,6 +398,33 @@
            GameNetSystem.Instance.SendInfo(pak);
        }
        public void TryPushRealmPoolMessage()
        {
            var remainTime = 0f;
            if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Realm))
            {
                var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
                if (realmLevel >= realmPoolOpenLevel)
                {
                    var config = RealmConfig.Get(realmLevel);
                    if (exp < config.expLimit)
                    {
                        remainTime = realmExpTime * ((config.expLimit - exp) / (float)config.expRate);
                    }
                }
            }
            if (remainTime > 0f)
            {
                var json = pushModel.GetPushJsonData(11403, (int)remainTime,
                    Language.Get("RealmPoolGeTui_Title"), Language.Get("RealmPoolGeTui_Content"));
                pushModel.SendPushInfo(json);
            }
            else
            {
                pushModel.RemovePushInfo(11403);
            }
        }
        public void ReceivePackage(HA311_tagMCSyncRealmInfo package)
        {
            isBossPass = package.IsPass == 1;
@@ -402,6 +439,9 @@
            {
                realmExpRefresh();
            }
            RefreshRealmPoolRedpoint();
            TryPushRealmPoolMessage();
        }
        private void OnStageLoadFinish()
@@ -509,6 +549,27 @@
            levelUpRedpoint.state = levelUpable ? RedPointState.Simple : RedPointState.None;
            challengeRedpoint.state = challengeable ? RedPointState.Simple : RedPointState.None;
            RefreshRealmPoolRedpoint();
        }
        void RefreshRealmPoolRedpoint()
        {
            var isPoolFull = false;
            if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Realm))
            {
                var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
                if (realmLevel >= realmPoolOpenLevel)
                {
                    var config = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel);
                    if (totalExp >= config.expLimit)
                    {
                        isPoolFull = true;
                    }
                }
            }
            realmPoolRedpoint.state = isPoolFull ? RedPointState.Simple : RedPointState.None;
        }
    }
}
System/Realm/RealmPoolBehaviour.cs
@@ -14,6 +14,8 @@
        [SerializeField] Transform m_Lock;
        [SerializeField] Text m_Progress;
        [SerializeField] Button m_TakeExp;
        [SerializeField] UIEffect m_CollectEffect;
        [SerializeField] UIEffect m_FullEffect;
        int realmLevel = 0;
@@ -40,6 +42,8 @@
                DisplayProgress();
            }
            DisplayEffect();
            model.realmExpRefresh -= RealmExpRefresh;
            model.realmExpRefresh += RealmExpRefresh;
@@ -55,6 +59,7 @@
            var progressInt = (int)(progress * 100);
            m_Progress.text = StringUtility.Contact(progressInt, "%");
            DisplayWave();
            DisplayEffect();
        }
        public void DisplayWave()
@@ -78,6 +83,46 @@
            }
        }
        void DisplayEffect()
        {
            var config = RealmConfig.Get(realmLevel);
            var isOpen = config.expRate != 0;
            var isFull = model.totalExp >= config.expLimit;
            if (!isOpen)
            {
                StopEffect(m_FullEffect);
            }
            else
            {
                if (isFull)
                {
                    StopEffect(m_CollectEffect);
                    PlayEffect(m_FullEffect);
                }
                else
                {
                    StopEffect(m_FullEffect);
                    PlayEffect(m_CollectEffect);
                }
            }
        }
        void StopEffect(UIEffect effect)
        {
            if (effect.IsPlaying)
            {
                effect.StopImediatly();
            }
        }
        void PlayEffect(UIEffect effect)
        {
            if (!effect.IsPlaying)
            {
                effect.Play();
            }
        }
        private void PerSecond()
        {
            DisplayProgress();