SuitPartsDetailView.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using UI.CommonGame;
  2. using FairyGUI;
  3. using System.Collections.Generic;
  4. using cfg.GfgCfg;
  5. namespace GFGGame
  6. {
  7. public class SuitPartsDetailView : BaseWindow
  8. {
  9. private UI_SuitPartsDetailUI _ui;
  10. private int[] _items;
  11. private List<ItemView> itemViews = new List<ItemView>();
  12. public override void Dispose()
  13. {
  14. _items = null;
  15. if (_ui != null)
  16. {
  17. _ui.Dispose();
  18. _ui = null;
  19. }
  20. base.Dispose();
  21. }
  22. protected override void OnInit()
  23. {
  24. base.OnInit();
  25. packageName = UI_SuitPartsDetailUI.PACKAGE_NAME;
  26. _ui = UI_SuitPartsDetailUI.Create();
  27. this.viewCom = _ui.target;
  28. this.modal = true;
  29. this.viewCom.Center();
  30. _ui.m_listParts.itemRenderer = ListPartsItemRenderer;
  31. _ui.m_listParts.onClickItem.Add(OnClickListPartsItem);
  32. }
  33. protected override void AddEventListener()
  34. {
  35. base.AddEventListener();
  36. EventAgent.AddEventListener(ConstMessage.JUMP_TO_SOURCE, this.Hide);
  37. }
  38. protected override void OnShown()
  39. {
  40. base.OnShown();
  41. itemViews.Clear();
  42. int suitId = (int)this.viewData;
  43. _items = SuitCfgArray.Instance.GetSuitItems(suitId);
  44. _ui.m_listParts.numItems = _items.Length;
  45. if (_ui.m_listParts.numItems > 0)
  46. {
  47. _ui.m_listParts.ScrollToView(0);
  48. }
  49. // _ui.m_listParts.ResizeToFit();
  50. _ui.target.Center();
  51. }
  52. protected override void OnHide()
  53. {
  54. base.OnHide();
  55. }
  56. protected override void RemoveEventListener()
  57. {
  58. base.RemoveEventListener();
  59. EventAgent.RemoveEventListener(ConstMessage.JUMP_TO_SOURCE, this.Hide);
  60. }
  61. private void ListPartsItemRenderer(int index, GObject obj)
  62. {
  63. int itemId = _items[index];
  64. obj.data = itemId;
  65. ItemData reward = ItemUtil.createItemData(itemId, 1);
  66. if (itemViews.Count <= index)
  67. {
  68. // obj.data =
  69. ItemView itemView = new ItemView(obj as GComponent);
  70. itemViews.Add(itemView);
  71. }
  72. itemViews[index].SetData(reward);
  73. bool haveItem = DressUpMenuItemDataManager.CheckHasItem(itemId);
  74. itemViews[index].ImgNotGotVisible = !haveItem;
  75. itemViews[index].ShowTips = false;
  76. }
  77. private void OnClickListPartsItem(EventContext context)
  78. {
  79. GComponent item = context.data as GComponent;
  80. int itemId = (int)item.data;
  81. bool haveItem = DressUpMenuItemDataManager.CheckHasItem(itemId);
  82. ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemId);
  83. if (haveItem || itemCfg.Approach.Length <= 0)
  84. {
  85. GoodsItemTipsController.ShowItemTips(itemId);
  86. }
  87. else
  88. {
  89. // this.Hide();
  90. //ViewManager.Show<ApproachOfItemView>(new object[] { itemId, new object[] { typeof(SuitGuideView).FullName, this.viewData } });
  91. object[] goBackDatas = ViewManager.GetGoBackDatas(typeof(SuitPartsDetailView).Name);
  92. object[] sourceDatas = new object[] { itemId, goBackDatas, 1 };
  93. GoodsItemTipsController.ShowItemTips(itemId, sourceDatas);
  94. }
  95. }
  96. }
  97. }