ActivitySyntheticView.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UI.DressUp;
  5. using FairyGUI;
  6. using UI.ActivityAfternoonTea;
  7. using UI.CommonGame;
  8. using ET;
  9. namespace GFGGame
  10. {
  11. public class ActivitySyntheticView : BaseWindow
  12. {
  13. private UI_ActivitySyntheticUI _ui;
  14. private ValueBarController _valueBarController;
  15. private SuitCfg _suitCfg;
  16. public override void Dispose()
  17. {
  18. if (_valueBarController != null)
  19. {
  20. _valueBarController.Dispose();
  21. _valueBarController = null;
  22. }
  23. if (_ui != null)
  24. {
  25. _ui.Dispose();
  26. _ui = null;
  27. }
  28. base.Dispose();
  29. }
  30. protected override void OnInit()
  31. {
  32. base.OnInit();
  33. packageName = UI_ActivitySyntheticUI.PACKAGE_NAME;
  34. _ui = UI_ActivitySyntheticUI.Create();
  35. this.viewCom = _ui.target;
  36. isfullScreen = true;
  37. isReturnView = true;
  38. _valueBarController = new ValueBarController(_ui.m_valueBar);
  39. _ui.m_btnBack.onClick.Add(OnClickBtnBack);
  40. _ui.m_listSynthetic.itemRenderer = RenderListSyntheticItem;
  41. }
  42. protected override void OnShown()
  43. {
  44. base.OnShown();
  45. _valueBarController.OnShown();
  46. _valueBarController.Controller(6);
  47. ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(5005);
  48. _suitCfg = SuitCfgArray.Instance.GetCfg(activityOpenCfg.paramsArr[0]);
  49. _ui.m_listSynthetic.numItems = _suitCfg.partsArr.Length;
  50. RefreshTimeText();
  51. _ui.m_txtTips.SetVar("name", _suitCfg.name).FlushVars();
  52. }
  53. private void OnClickBtnBack()
  54. {
  55. ViewManager.GoBackFrom(typeof(ActivitySyntheticView).FullName);
  56. }
  57. private void RefreshTimeText()
  58. {
  59. ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(5005);
  60. long time = TimeUtil.DateTimeToTimestamp(activityOpenCfg.endTime) - TimeHelper.ServerNow();
  61. string strTime = TimeUtil.FormattingTimeTo_DDHHmm(time);
  62. _ui.m_txtTime.text = "Ê£Óà:" + strTime;
  63. }
  64. private void RenderListSyntheticItem(int index, GObject obj)
  65. {
  66. UI_SyntheticItemUI comBox = UI_SyntheticItemUI.Proxy(obj);
  67. UI_ComItem item1 = UI_ComItem.Proxy(comBox.m_item1);
  68. ItemCfg itemSyntheticCfg = ItemCfgArray.Instance.GetCfg(_suitCfg.partsArr[index]);
  69. var materiarsArr = itemSyntheticCfg.syntheticMateriarsArr;
  70. ItemCfg itemCfg1 = ItemCfgArray.Instance.GetCfg(materiarsArr[0][0]);
  71. RarityIconController.UpdateRarityIcon(item1.m_loaRarity, itemCfg1.id, false);
  72. string ext1 = ItemUtil.GetItemResExt(itemCfg1.itemType, itemCfg1.subType, true);
  73. item1.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg1.res, ext1);
  74. if(item1.target.data == null)
  75. item1.target.onClick.Add(OnSelectorItemClick);
  76. item1.target.data = materiarsArr[0][0];
  77. item1.m_QualityType.selectedIndex = itemCfg1.rarity - 1;
  78. item1.m_txtCount.text = materiarsArr[0][1].ToString();
  79. UI_ComItem.ProxyEnd();
  80. UI_ComItem item2 = UI_ComItem.Proxy(comBox.m_item2);
  81. ItemCfg itemCfg2 = ItemCfgArray.Instance.GetCfg(materiarsArr[1][0]);
  82. RarityIconController.UpdateRarityIcon(item2.m_loaRarity, itemCfg2.id, false);
  83. string ext2 = ItemUtil.GetItemResExt(itemCfg2.itemType, itemCfg2.subType, true);
  84. item2.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg2.res, ext2);
  85. if (item2.target.data == null)
  86. item2.target.onClick.Add(OnSelectorItemClick);
  87. item2.target.data = materiarsArr[1][0];
  88. item2.m_QualityType.selectedIndex = itemCfg2.rarity - 1;
  89. item2.m_txtCount.text = materiarsArr[1][1].ToString();
  90. UI_ComItem.ProxyEnd();
  91. UI_ComItem item3 = UI_ComItem.Proxy(comBox.m_item3);
  92. ItemCfg itemCfg3 = ItemCfgArray.Instance.GetCfg(_suitCfg.partsArr[index]);
  93. RarityIconController.UpdateRarityIcon(item3.m_loaRarity, itemCfg3.id, false);
  94. string ext3 = ItemUtil.GetItemResExt(itemCfg3.itemType, itemCfg3.subType, true);
  95. item3.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg3.res, ext3);
  96. if (item3.target.data == null)
  97. item3.target.onClick.Add(OnSelectorItemClick);
  98. item3.target.data = _suitCfg.partsArr[index];
  99. item3.m_QualityType.selectedIndex = itemCfg3.rarity - 1;
  100. item3.m_txtCount.text = "1";
  101. UI_ComItem.ProxyEnd();
  102. if (ItemDataManager.GetItemNum(_suitCfg.partsArr[index]) > 0)
  103. {
  104. comBox.m_btnType.selectedIndex = 2;
  105. }
  106. else if (ItemDataManager.GetItemNum(materiarsArr[0][0]) >= materiarsArr[0][1] && ItemDataManager.GetItemNum(materiarsArr[1][0]) >= materiarsArr[1][1])
  107. {
  108. comBox.m_btnType.selectedIndex = 1;
  109. if(comBox.m_btnMake.data == null)
  110. comBox.m_btnMake.onClick.Add(OnClickBtnMake);
  111. comBox.m_btnMake.data = _suitCfg.partsArr[index];
  112. }
  113. else {
  114. comBox.m_btnType.selectedIndex = 0;
  115. if (comBox.m_btnGet.data == null)
  116. comBox.m_btnGet.onClick.Add(OnClickBtnGet);
  117. comBox.m_btnGet.data = index;
  118. }
  119. UI_SyntheticItemUI.ProxyEnd();
  120. }
  121. private async void OnClickBtnMake(EventContext context)
  122. {
  123. if (!(context.sender is GObject obj)) return;
  124. int itemID = (int)obj.data;
  125. bool result = await ActivityTeaSProxy.ReqItemSynthetic( 5005 , itemID);
  126. if (result)
  127. {
  128. _ui.m_listSynthetic.numItems = _suitCfg.partsArr.Length;
  129. }
  130. }
  131. private void OnClickBtnGet()
  132. {
  133. ViewManager.Show<StoryChapterView>();
  134. }
  135. private void OnSelectorItemClick(EventContext context)
  136. {
  137. if (!(context.sender is GObject obj)) return;
  138. int itemID = (int)obj.data;
  139. GoodsItemTipsController.ShowItemTips(itemID);
  140. }
  141. }
  142. }