LeagueAnswerRewardView.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using System.Collections.Generic;
  2. using System.Text.RegularExpressions;
  3. using ET;
  4. using FairyGUI;
  5. using UI.League;
  6. using UnityEngine;
  7. namespace GFGGame
  8. {
  9. //联盟答题奖励展示
  10. public class LeagueAnswerRewardView : BaseWindow
  11. {
  12. private UI_LeagueAnswerRewardUI _ui;
  13. List<string> ruleDatas = new List<string>();
  14. public override void Dispose()
  15. {
  16. if (_ui != null)
  17. {
  18. _ui.Dispose();
  19. _ui = null;
  20. }
  21. base.Dispose();
  22. }
  23. protected override void OnInit()
  24. {
  25. base.OnInit();
  26. packageName = UI_LeagueAnswerRewardUI.PACKAGE_NAME;
  27. _ui = UI_LeagueAnswerRewardUI.Create();
  28. this.viewCom = _ui.target;
  29. this.viewCom.Center();
  30. this.modal = true;
  31. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  32. _ui.m_btnClose.onClick.Add(Hide);
  33. _ui.m_list.itemRenderer = RenderListItem;
  34. _ui.m_listRule.itemRenderer = RenderListRuleItem;
  35. }
  36. protected override void AddEventListener()
  37. {
  38. base.AddEventListener();
  39. }
  40. protected override void OnShown()
  41. {
  42. base.OnShown();
  43. // _ui.m_txtRule.text = TextDescArray.Instance.GetCfg(300008).text;
  44. _ui.m_list.numItems = LeagueQuestionBonusCfgArray.Instance.dataArray.Length;
  45. string[] rules = TextDescArray.Instance.GetCfg(300008).text.Split('.');
  46. for (int i = 0; i < rules.Length; i++)
  47. {
  48. if (i > 0 && rules[i - 1] == ".")
  49. {
  50. ruleDatas.Add(rules[i]);
  51. }
  52. }
  53. }
  54. protected override void OnHide()
  55. {
  56. base.OnHide();
  57. ruleDatas.Clear();
  58. }
  59. protected override void RemoveEventListener()
  60. {
  61. base.RemoveEventListener();
  62. }
  63. private void RenderListRuleItem(int index, GObject obj)
  64. {
  65. UI_ListAnswerRuleItem item = UI_ListAnswerRuleItem.Proxy(obj);
  66. item.m_txtRule.text = ruleDatas[index];
  67. UI_ListAnswerRuleItem.ProxyEnd();
  68. }
  69. private void RenderListItem(int index, GObject obj)
  70. {
  71. UI_ListAnswerRewardItem item = UI_ListAnswerRewardItem.Proxy(obj);
  72. item.m_txtDesc.text = string.Format("答对{0}题", index + 1);
  73. if (item.m_listReward.data == null)
  74. {
  75. item.m_listReward.itemRenderer = RenderListIrem;
  76. }
  77. item.m_listReward.numItems = LeagueQuestionBonusCfgArray.Instance.dataArray[index].bonusArr.Length;
  78. UI_ListAnswerRewardItem.ProxyEnd();
  79. }
  80. private void RenderListIrem(int index, GObject obj)
  81. {
  82. int[][] rewards = (int[][])obj.parent.data;
  83. ItemUtil.UpdateItemNeedNum(obj, rewards[index]);
  84. }
  85. }
  86. }