| | |
| | | using System.Collections; |
| | | using UnityEngine.UI; |
| | | |
| | | namespace vnxbqy.UI |
| | | |
| | | public class RandomTip : MonoBehaviour |
| | | { |
| | | int index = 0; |
| | | [SerializeField] UpdateType m_UpdateType; |
| | | [SerializeField] Text m_Content; |
| | | [SerializeField] float m_Interval = 2f; |
| | | [SerializeField] string[] m_LanguageKeys; |
| | | |
| | | public class RandomTip : MonoBehaviour |
| | | float timer = 0f; |
| | | private void OnEnable() |
| | | { |
| | | int index = 0; |
| | | [SerializeField] UpdateType m_UpdateType; |
| | | [SerializeField] Text m_Content; |
| | | [SerializeField] float m_Interval = 2f; |
| | | [SerializeField] string[] m_LanguageKeys; |
| | | timer = 0f; |
| | | UpdateTip(); |
| | | } |
| | | |
| | | float timer = 0f; |
| | | private void OnEnable() |
| | | private void OnDisable() |
| | | { |
| | | |
| | | } |
| | | |
| | | private void LateUpdate() |
| | | { |
| | | timer += Time.deltaTime; |
| | | if (timer > m_Interval) |
| | | { |
| | | timer = 0f; |
| | | UpdateTip(); |
| | | } |
| | | } |
| | | |
| | | private void OnDisable() |
| | | private void UpdateTip() |
| | | { |
| | | if (m_LanguageKeys == null || m_LanguageKeys.Length == 0) |
| | | { |
| | | |
| | | return; |
| | | } |
| | | |
| | | private void LateUpdate() |
| | | switch (m_UpdateType) |
| | | { |
| | | timer += Time.deltaTime; |
| | | if (timer > m_Interval) |
| | | { |
| | | timer = 0f; |
| | | UpdateTip(); |
| | | } |
| | | case UpdateType.Queue: |
| | | index = (++index) % m_LanguageKeys.Length; |
| | | m_Content.text = Language.Get(m_LanguageKeys[index]); |
| | | break; |
| | | case UpdateType.Random: |
| | | var randomIndex = index; |
| | | while (index == randomIndex) |
| | | { |
| | | randomIndex = Random.Range(0, m_LanguageKeys.Length); |
| | | } |
| | | index = randomIndex; |
| | | m_Content.text = Language.Get(m_LanguageKeys[index]); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | private void UpdateTip() |
| | | { |
| | | if (m_LanguageKeys == null || m_LanguageKeys.Length == 0) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | switch (m_UpdateType) |
| | | { |
| | | case UpdateType.Queue: |
| | | index = (++index) % m_LanguageKeys.Length; |
| | | m_Content.text = Language.Get(m_LanguageKeys[index]); |
| | | break; |
| | | case UpdateType.Random: |
| | | var randomIndex = index; |
| | | while (index == randomIndex) |
| | | { |
| | | randomIndex = Random.Range(0, m_LanguageKeys.Length); |
| | | } |
| | | index = randomIndex; |
| | | m_Content.text = Language.Get(m_LanguageKeys[index]); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | public enum UpdateType |
| | | { |
| | | Queue, |
| | | Random, |
| | | } |
| | | |
| | | public enum UpdateType |
| | | { |
| | | Queue, |
| | | Random, |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |