| //-------------------------------------------------------- | 
| //    [Author]:           玩个游戏 | 
| //    [  Date ]:           Thursday, November 09, 2017 | 
| //-------------------------------------------------------- | 
| using UnityEngine; | 
| using System.Collections; | 
| using UnityEngine.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; | 
|   | 
|     float timer = 0f; | 
|     private void OnEnable() | 
|     { | 
|         timer = 0f; | 
|         UpdateTip(); | 
|     } | 
|   | 
|     private void OnDisable() | 
|     { | 
|   | 
|     } | 
|   | 
|     private void LateUpdate() | 
|     { | 
|         timer += Time.deltaTime; | 
|         if (timer > m_Interval) | 
|         { | 
|             timer = 0f; | 
|             UpdateTip(); | 
|         } | 
|     } | 
|   | 
|     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, | 
|     } | 
|   | 
| } |