yyl
2025-06-09 b9751b2f076ee050fe5b685e91ae4fc4469b1015
Main/Component/UI/Common/RandomTip.cs
@@ -6,73 +6,70 @@
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,
    }
}