少年修仙传客户端代码仓库
client_Wu Xijin
2019-05-21 0d28313cce2fbfd002ea71a773293aba6391394d
6872 自由引导支持特效播放
1个文件已修改
42 ■■■■■ 已修改文件
System/NewBieGuidance/FunctionalGuideBehaviour.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/NewBieGuidance/FunctionalGuideBehaviour.cs
@@ -20,6 +20,7 @@
        [SerializeField] RectTransform m_ContainerRight;
        [SerializeField] Text m_DialogueLeft;
        [SerializeField] Text m_DialogueRight;
        [SerializeField] UIEffect m_Effect;
        [SerializeField] RectTransform m_ContainerArrow;
        [SerializeField] Image m_Arrow;
@@ -135,6 +136,7 @@
            clickTargetName = string.Empty;
            m_ClickTarget = null;
            m_ClickHintRoot.gameObject.SetActive(false);
            StopEffect();
            FindClickTarget();
            protectTimer = 0f;
        }
@@ -229,16 +231,19 @@
                        if (screenPoint.x < 1f && screenPoint.x > 0f && screenPoint.y < 1f && screenPoint.y > 0f)
                        {
                            m_ClickHintRoot.gameObject.SetActive(true);
                            PlayEffect();
                            m_ClickHintRoot.position = m_ClickTarget.position;
                        }
                        else
                        {
                            StopEffect();
                            m_ClickHintRoot.gameObject.SetActive(false);
                        }
                    }
                }
                else
                {
                    StopEffect();
                    m_ClickHintRoot.gameObject.SetActive(false);
                }
@@ -291,6 +296,43 @@
            }
        }
        private void PlayEffect()
        {
            var guideConfig = GuideConfig.Get(guide);
            var effectId = 0;
            if (guideConfig != null)
            {
                var stepConfig = ScriptableObjectLoader.LoadSoFunctionalGuideStep(guideConfig.Steps[0]);
                if (stepConfig != null)
                {
                    effectId = stepConfig.effect2;
                }
            }
            if (effectId != 0)
            {
                if (!m_Effect.IsPlaying)
                {
                    m_Effect.Play();
                }
            }
            else
            {
                if (m_Effect.IsPlaying)
                {
                    m_Effect.Stop();
                }
            }
        }
        private void StopEffect()
        {
            if (m_Effect.IsPlaying)
            {
                m_Effect.Stop();
            }
        }
    }
    public class FunctionalGuideBehaviourPool