UpdatePanel.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using System.Text.RegularExpressions;
  2. using System.Xml;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class UpdatePanel : MonoBehaviour
  6. {
  7. public static UpdatePanel instance;
  8. [SerializeField] private Text title;
  9. [SerializeField] private Text content;
  10. [SerializeField] private Transform bg;
  11. private Text progressTxt;
  12. private TweenCG alphaAnim;
  13. private TweenScale scaleAnim;
  14. public void Init()
  15. {
  16. instance = this;
  17. title = ResourceManager.Get<Text>(CanvasLabel.AJ_Title);
  18. content = ResourceManager.Get<Text>(CanvasLabel.AJ_Content);
  19. bg = ResourceManager.Get(CanvasLabel.AJ_bg);
  20. progressTxt = ResourceManager.Get<Text>(CanvasLabel.AJ_Progress);
  21. alphaAnim = transform.CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
  22. scaleAnim = bg.CreateTweenScale(Vector3.zero, Vector3.one, 0.25f, false, true, Curve.EaseOutQuad);
  23. XmlDocument document = new XmlDocument();
  24. TextAsset textAsset = Bundle.Defaul.LoadAsset<TextAsset>(ResourceLabel.DefaultEnglish);
  25. document.LoadXml(textAsset.text);
  26. Language.AddLanguageDocument(CurrentLanguage.English, document);
  27. document = new XmlDocument();
  28. textAsset = Bundle.Defaul.LoadAsset<TextAsset>(ResourceLabel.DefaultChineseSimplified);
  29. document.LoadXml(textAsset.text);
  30. Language.AddLanguageDocument(CurrentLanguage.ChineseSimplified, document);
  31. document = new XmlDocument();
  32. textAsset = Bundle.Defaul.LoadAsset<TextAsset>(ResourceLabel.DefaultChineseTraditional);
  33. document.LoadXml(textAsset.text);
  34. Language.AddLanguageDocument(CurrentLanguage.ChineseTraditional, document);
  35. }
  36. public static void Show()
  37. {
  38. instance.title.text = Language.GetStr(LanguageLabel.UI__AJ_Title, Application.systemLanguage);
  39. instance.alphaAnim.StartForward();
  40. instance.scaleAnim.StartForward();
  41. }
  42. public static void Hide()
  43. {
  44. instance.alphaAnim.StartBackward();
  45. instance.scaleAnim.StartBackward();
  46. }
  47. public static void SetProgress(int updateAmt, int finishAmt)
  48. {
  49. if (instance == null)
  50. {
  51. return;
  52. }
  53. string str = Language.GetStr(LanguageLabel.UI__AJ_Content, Application.systemLanguage);
  54. str = str.Replace("%NUM0%", updateAmt.ToString()).Replace("%NUM1%", finishAmt.ToString());
  55. instance.content.text = str;
  56. }
  57. public static void SetProgress(float progress)
  58. {
  59. if (instance == null)
  60. {
  61. return;
  62. }
  63. string str = Language.GetStr(LanguageLabel.UI__AJ_Progress, Application.systemLanguage);
  64. instance.progressTxt.text = str.Replace("%NUM%", (progress * 100).ToString("0"));
  65. }
  66. public static void SetContent(string str)
  67. {
  68. if (instance == null)
  69. {
  70. return;
  71. }
  72. instance.content.text = str;
  73. }
  74. }