SuitPartsDetailView.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using UI.FieldGuide;
  2. using FairyGUI;
  3. namespace GFGGame
  4. {
  5. public class SuitPartsDetailView : BaseWindow
  6. {
  7. private UI_SuitPartsDetailUI _ui;
  8. private int[] _items;
  9. public override void Dispose()
  10. {
  11. base.Dispose();
  12. _items = null;
  13. }
  14. protected override void OnInit()
  15. {
  16. base.OnInit();
  17. packageName = UI_SuitGuideUI.PACKAGE_NAME;
  18. _ui = UI_SuitPartsDetailUI.Create();
  19. this.viewCom = _ui.target;
  20. this.modal = true;
  21. this.viewCom.Center();
  22. _ui.m_listParts.itemRenderer = ListPartsItemRenderer;
  23. _ui.m_listParts.onClickItem.Add(OnClickListPartsItem);
  24. }
  25. protected override void OnShown()
  26. {
  27. base.OnShown();
  28. int suitId = (int)this.viewData;
  29. _items = SuitCfgManager.Instance.GetSuitItems(suitId);
  30. _ui.m_listParts.numItems = _items.Length;
  31. _ui.m_listParts.ResizeToFit();
  32. _ui.target.Center();
  33. }
  34. protected override void OnHide()
  35. {
  36. base.OnHide();
  37. }
  38. private void ListPartsItemRenderer(int index, GObject item)
  39. {
  40. UI_ListSuitPartsItem listItem = UI_ListSuitPartsItem.Proxy(item);
  41. int itemId = _items[index];
  42. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
  43. listItem.m_txtName.text = ItemUtil.GetItemName(itemId);
  44. listItem.m_icon.url = ResPathUtil.GetIconPath(itemCfg);
  45. bool haveItem = DressUpMenuItemDataManager.CheckHasItem(itemId);
  46. listItem.m_imgLock.visible = listItem.m_imgLockBg.visible = !haveItem;
  47. listItem.target.data = itemId;
  48. // listItem.target.onClick.Clear();
  49. // listItem.target.onClick.Add(() =>
  50. // {
  51. // if (haveItem)
  52. // {
  53. // GoodsItemTipsController.ShowItemTips(itemId);
  54. // }
  55. // });
  56. }
  57. private void OnClickListPartsItem(EventContext context)
  58. {
  59. GComponent item = context.data as GComponent;
  60. int itemId = (int)item.data;
  61. bool haveItem = DressUpMenuItemDataManager.CheckHasItem(itemId);
  62. if (haveItem)
  63. {
  64. GoodsItemTipsController.ShowItemTips(itemId);
  65. }
  66. else
  67. {
  68. this.Hide();
  69. ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { ViewName.SUIT_GUIDE_VIEW, this.viewData } });
  70. }
  71. }
  72. }
  73. }