TravelGuideView.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using System.Collections.Generic;
  2. using FairyGUI;
  3. using UI.FieldGuide;
  4. namespace GFGGame
  5. {
  6. public class TravelGuideView : BaseWindow
  7. {
  8. private UI_TravelGuideUI _ui;
  9. public override void Dispose()
  10. {
  11. if (_ui != null)
  12. {
  13. _ui.Dispose();
  14. _ui = null;
  15. }
  16. base.Dispose();
  17. }
  18. protected override void OnInit()
  19. {
  20. base.OnInit();
  21. packageName = UI_TravelGuideUI.PACKAGE_NAME;
  22. _ui = UI_TravelGuideUI.Create();
  23. this.viewCom = _ui.target;
  24. isfullScreen = true;
  25. isReturnView = true;
  26. _ui.m_btnBack.onClick.Add(OnClickBtnBack);
  27. _ui.m_list.itemRenderer = RenderListItem;
  28. _ui.m_list.onClickItem.Add(OnListItemClick);
  29. _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("tjbg");
  30. }
  31. protected override void AddEventListener()
  32. {
  33. base.AddEventListener();
  34. }
  35. protected override void OnShown()
  36. {
  37. base.OnShown();
  38. TravelLoactionCfg[] cfgs = TravelLoactionCfgArray.Instance.dataArray;
  39. _ui.m_list.numItems = TravelGuideCfgArray.Instance.dataArray.Length;
  40. }
  41. protected override void OnHide()
  42. {
  43. base.OnHide();
  44. if (_ui.m_list.numItems > 0) _ui.m_list.ScrollToView(0);
  45. }
  46. protected override void RemoveEventListener()
  47. {
  48. base.RemoveEventListener();
  49. }
  50. private void OnClickBtnBack()
  51. {
  52. ViewManager.GoBackFrom(typeof(TravelGuideView).FullName);
  53. }
  54. private void RenderListItem(int index, GObject obj)
  55. {
  56. TravelGuideCfg cfg = TravelGuideCfgArray.Instance.dataArray[index];
  57. UI_ListTravelAreaItem item = UI_ListTravelAreaItem.Proxy(obj);
  58. item.m_loaIcon.url = string.Format("ui://FieldGuide/{0}", cfg.res);
  59. item.target.data = cfg;
  60. RedDotController.Instance.SetComRedDot(item.target, RedDotDataManager.Instance.GetTravelGuideAreaRed(cfg.id));
  61. UI_ListTravelAreaItem.ProxyEnd();
  62. }
  63. private void OnListItemClick(EventContext context)
  64. {
  65. GObject obj = context.data as GObject;
  66. TravelGuideCfg cfg = obj.data as TravelGuideCfg;
  67. ViewManager.Show<TravelShowView>(cfg);
  68. }
  69. }
  70. }