少年修仙传客户端代码仓库
client_linchunjie
2018-08-17 095a9ce4bb13f29687e6d8d075dd51fc094d4113
法宝魂修改
5个文件已修改
114 ■■■■■ 已修改文件
System/Treasure/TreasureAnimation.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureData.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureLevelUpWin.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureMeridianBehaviour.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureModel.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureAnimation.cs
@@ -317,6 +317,8 @@
            float _duration = 0f;
            stepComplete = false;
            var _config = ScriptableObjectLoader.LoadSoTreasureMeridian(model.selectedTreasure);
            Treasure treasure;
            model.TryGetTreasure(model.selectedTreasure, out treasure);
            _index = Mathf.Max(_index, 0);
            var _current = m_TreasureMeridians[_index];
            if (_index < 0)
@@ -324,7 +326,7 @@
                stepComplete = true;
                yield break;
            }
            if (_index < _config.stagePointNum - 1)
            if (_index < treasure.StageCount - 1)
            {
                var _effect = EffectMgr.Instance.PlayUIEffect(LINESFX, 2500, m_TreasureMeridians[_index].transform.parent, false);
                _effect.transform.localPosition = _config[_index].position;
@@ -498,9 +500,11 @@
            m_ContainerStars.gameObject.SetActive(true);
            m_StarPositionTween.SetStartState();
            TreasureMeridianConfig _config = ScriptableObjectLoader.LoadSoTreasureMeridian(selectTreasureId);
            Treasure treasure;
            model.TryGetTreasure(selectTreasureId, out treasure);
            for (int i = 0; i < m_Stars.Length; i++)
            {
                if (_config == null || i >= _config.stagePointNum)
                if (_config == null || i >= treasure.treasureStages.Count)
                {
                    m_Stars[i].gameObject.SetActive(false);
                }
@@ -552,7 +556,9 @@
            TreasureMeridianConfig _config = ScriptableObjectLoader.LoadSoTreasureMeridian(selectTreasureId);
            RecycleLineSfx();
            var _duration = 0f;
            while (_index < _config.stagePointNum)
            Treasure treasure;
            model.TryGetTreasure(selectTreasureId, out treasure);
            while (_index < treasure.StageCount)
            {
                timer = 0f;
                var _effect1 = EffectMgr.Instance.PlayUIEffect(SPIRALSFX, 2700, m_TreasureMeridians[_index].transform.parent, false);
@@ -566,7 +572,7 @@
                m_TreasureMeridians[_index].RequestStateSfx();
                m_Stars[_index].StopImediatly();
                timer = 0f;
                if (_index < _config.stagePointNum - 1)
                if (_index < treasure.StageCount - 1)
                {
                    var _effect2 = EffectMgr.Instance.PlayUIEffect(LINESFX, 2500, m_TreasureMeridians[_index].transform.parent, false);
                    _duration = _effect2.duration;
@@ -588,7 +594,7 @@
                }
                _index++;
            }
            for (int i = 0; i < _config.stagePointNum; i++)
            for (int i = 0; i < treasure.StageCount; i++)
            {
                m_TreasureMeridians[i].PlayLineSfx(2, true);
            }
@@ -612,7 +618,6 @@
                yield return null;
            }
            stepComplete = true;
            Treasure treasure;
            model.TryGetTreasure(selectTreasureId, out treasure);
            if (treasure.treasureStages[0].unlockType != TreasureStageUnlock.None)
            {
@@ -672,7 +677,7 @@
                return x.unlockType == TreasureStageUnlock.Skill;
            });
            var _skillStageIndex = _treasure.GetStageIndex(_skillStage);
            for (int i = 0; i < _config.stagePointNum; i++)
            for (int i = 0; i < _stages.Count; i++)
            {
                if (i == _skillStageIndex)
                {
@@ -688,7 +693,7 @@
            }
            timer = 0;
            _duration = 0;
            for (int i = 0; i < _config.stagePointNum; i++)
            for (int i = 0; i < _stages.Count; i++)
            {
                if (i == _skillStageIndex)
                {
@@ -709,13 +714,15 @@
            {
                yield return null;
            }
            timer = 0;
            var _effect = EffectMgr.Instance.PlayUIEffect(CONVERGESFX, 2700, m_TreasureMeridians[_skillStageIndex].transform.parent, false);
            _effect.transform.localPosition = _config[_skillStageIndex].position;
            while (timer < 0.5f)
            if (_stages.Count > 1)
            {
                yield return null;
                timer = 0;
                var _effect = EffectMgr.Instance.PlayUIEffect(CONVERGESFX, 2700, m_TreasureMeridians[_skillStageIndex].transform.parent, false);
                _effect.transform.localPosition = _config[_skillStageIndex].position;
                while (timer < 0.5f)
                {
                    yield return null;
                }
            }
            timer = 0;
            m_ContainerLevelUp.gameObject.SetActive(false);
System/Treasure/TreasureData.cs
@@ -249,18 +249,21 @@
            stage = _lv;
            exp = _exp;
            hasClickChallenge = _hasClickChallenge;
            if ((this is HumanTreasure) && IsMaxStage())
            if ((this is HumanTreasure) && IsHighestStage)
            {
                (this as HumanTreasure).humanState = HumanTreasureState.Potential;
            }
        }
        public bool IsMaxStage()
        public bool IsHighestStage
        {
            return treasureStages.FindIndex((x) =>
            get
            {
                return x.stage >= stage + 1;
            }) == -1;
                return treasureStages.FindIndex((x) =>
                {
                    return x.stage >= stage + 1;
                }) == -1;
            }
        }
        public bool IsUnlockStage(TreasureStageUnlock _type)
@@ -305,7 +308,7 @@
                m_State = value;
                if (value == HumanTreasureState.CastSoul)
                {
                    if (IsMaxStage())
                    if (IsHighestStage)
                    {
                        m_State = HumanTreasureState.Potential;
                    }
System/Treasure/TreasureLevelUpWin.cs
@@ -378,7 +378,8 @@
            {
                m_ContainerUnGet.gameObject.SetActive(false);
                if ((m_Treasure.IsMaxStage() && FuncOpen.Instance.IsFuncOpen(82)) || _state == 2)
                if ((m_Treasure.IsHighestStage && FuncOpen.Instance.IsFuncOpen(82)
                    && model.GetSpAnim(m_Treasure.id)) || _state == 2)
                {
                    if (_state != 2)
                    {
@@ -389,6 +390,7 @@
                    else
                    {
                        m_TreasureProperty.SetActive(true);
                        model.SetSpAnim(m_Treasure.id);
                    }
                    m_TreasurePotential.Display(m_Treasure, _state);
                }
@@ -423,6 +425,15 @@
        private void OnFuncStateChangeEvent(int _id)
        {
            if (_id == 82 && FuncOpen.Instance.IsFuncOpen(_id) && model.serverInited)
            {
                if (m_TreasureAnimation.stepComplete && m_Treasure.IsHighestStage
                    && !model.GetSpAnim(m_Treasure.id))
                {
                    m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
                    UpdateStage(2);
                }
            }
        }
        private void UpdateTreasureUnlockDetail()
@@ -759,7 +770,7 @@
        {
            var config = ConfigManager.Instance.GetTemplate<TreasureConfig>(model.selectedTreasure);
            if (!m_Init || config == null || (TreasureCategory)config.Category != TreasureCategory.Human
                || m_Treasure.state != TreasureState.Collected || m_Treasure.IsMaxStage())
                || m_Treasure.state != TreasureState.Collected || m_Treasure.IsHighestStage)
            {
                return;
            }
@@ -830,20 +841,28 @@
                    if (model.openFromTreasureSoul)
                    {
                        var config = ScriptableObjectLoader.LoadSoTreasureMeridian(model.selectedTreasure);
                        m_TreasureMeridians[config.stagePointNum - 1].StartSoulTween();
                        m_TreasureMeridians[m_Treasure.StageCount - 1].StartSoulTween();
                    }
                    if (model.GetTreasureStageShow(m_Treasure.id) != -1)
                    {
                        model.SetTreasureStageShow(m_Treasure.id, -1);
                        m_TreasureAnimation.OnStageLock(m_Treasure.GetStageIndex(m_Treasure.stage));
                    }
                    CheckGuide65();
                    if (!m_Treasure.IsHighestStage)
                    {
                        CheckGuide65();
                    }
                    else if (FuncOpen.Instance.IsFuncOpen(82) && !model.GetSpAnim(m_Treasure.id))
                    {
                        m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
                        UpdateStage(2);
                    }
                    break;
                case TreasureAnimation.TreasureShowStep.FirstUnLock:
                    UpdateLevelUpSfx(false);
                    m_TreasureProperty.SetActive(m_Treasure.state == TreasureState.Collected);
                    var _config = ScriptableObjectLoader.LoadSoTreasureMeridian(model.selectedTreasure);
                    for (int i = 0; i < _config.stagePointNum; i++)
                    for (int i = 0; i < m_Treasure.treasureStages.Count; i++)
                    {
                        m_TreasureMeridians[i].RequestStateSfx();
                    }
@@ -861,7 +880,7 @@
        {
            if (_win is TreasureNewStageWin)
            {
                if (m_Treasure.IsMaxStage())
                if (m_Treasure.IsHighestStage && FuncOpen.Instance.IsFuncOpen(82))
                {
                    m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
                    UpdateStage(2);
@@ -886,12 +905,11 @@
        private void RequestMeridianLine()
        {
            if (m_Treasure.IsMaxStage())
            if (m_Treasure.IsHighestStage && FuncOpen.Instance.IsFuncOpen(82))
            {
                return;
            }
            var _config = ScriptableObjectLoader.LoadSoTreasureMeridian(model.selectedTreasure);
            for (int i = 0; i < _config.stagePointNum; i++)
            for (int i = 0; i < m_Treasure.treasureStages.Count; i++)
            {
                m_TreasureMeridians[i].RequestSfx();
            }
System/Treasure/TreasureMeridianBehaviour.cs
@@ -296,6 +296,10 @@
        public void RequestSfx()
        {
            if (m_Treasure == null)
            {
                return;
            }
            var _stage = model.GetTreasureStageShow(m_Treasure.id);
            PlayLineSfx(m_Treasure.stage < m_TreasureStage.stage || _stage == m_TreasureStage.stage ? 4 : 2);
            RequestStateSfx();
System/Treasure/TreasureModel.cs
@@ -512,7 +512,14 @@
                        if (treasure is HumanTreasure)
                        {
                            var humanTreasure = treasure as HumanTreasure;
                            humanTreasure.humanState = HumanTreasureState.CastSoul;
                            if (humanTreasure.IsHighestStage && FuncOpen.Instance.IsFuncOpen(82))
                            {
                                humanTreasure.humanState = HumanTreasureState.Potential;
                            }
                            else
                            {
                                humanTreasure.humanState = HumanTreasureState.CastSoul;
                            }
                            UpdateCastSoulRedpoint(treasure.id);
                            if (GetTreasureUnlockShow(TreasureCategory.Human) == treasure.id)
                            {
@@ -757,7 +764,7 @@
            if (_functionId == 82)
            {
                UpdateSkillLevelUpRedpoints();
                if (!FuncOpen.Instance.IsFuncOpen(82) || !serverInited)
                if (!FuncOpen.Instance.IsFuncOpen(82))
                {
                    return;
                }
@@ -766,8 +773,13 @@
                {
                    Treasure treasure;
                    TryGetTreasure(list[i], out treasure);
                    if (WindowCenter.Instance.CheckOpen<TreasureLevelUpWin>()
                        && selectedTreasure == list[i] && treasure.IsMaxStage())
                    var humanTreasure = treasure as HumanTreasure;
                    if (treasure.state == TreasureState.Collected && treasure.IsHighestStage
                        && humanTreasure.humanState != HumanTreasureState.Potential)
                    {
                        humanTreasure.humanState = HumanTreasureState.Potential;
                    }
                    if (!serverInited || !treasure.IsHighestStage)
                    {
                        continue;
                    }
@@ -867,7 +879,7 @@
                    return;
                }
                var anyPointialLevelupAble = false;
                if (treasure.state == TreasureState.Collected && treasure.IsMaxStage())
                if (treasure.state == TreasureState.Collected && treasure.IsHighestStage)
                {
                    for (int i = 0; i < treasure.potentials.Count; i++)
                    {
@@ -1051,7 +1063,7 @@
                return;
            }
            if((TreasureCategory)config.Category == TreasureCategory.Human && treasure.IsMaxStage())
            if((TreasureCategory)config.Category == TreasureCategory.Human && treasure.IsHighestStage)
            {
                return;
            }