CardStoryView.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using FairyGUI;
  2. using System.Collections;
  3. using UI.Card;
  4. using UnityEngine;
  5. namespace GFGGame
  6. {
  7. public class CardStoryView : BaseWindow
  8. {
  9. private UI_CardStoryUI _ui;
  10. private CardData _viewData;
  11. public override void Dispose()
  12. {
  13. if (_ui != null)
  14. {
  15. _ui.Dispose();
  16. _ui = null;
  17. }
  18. base.Dispose();
  19. }
  20. protected override void OnInit()
  21. {
  22. base.OnInit();
  23. _ui = UI_CardStoryUI.Create();
  24. this.viewCom = _ui.target;
  25. this.viewCom.Center();
  26. this.modal = true;
  27. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  28. _ui.m_btnMood.onClick.Add(OnClickBtnMood);
  29. _ui.m_listCardStory.itemRenderer = RenderListCardStoryItem;
  30. }
  31. protected override void OnShown()
  32. {
  33. base.OnShown();
  34. _viewData = this.viewData as CardData;
  35. _ui.m_btnMood.grayed = _viewData.star < _viewData.itemCfg.cardMoodStar ? true : false;
  36. _ui.m_listCardStory.numItems = CardDataManager.GetStoryCfgsById(_viewData.itemCfg.id).Count;
  37. }
  38. private void RenderListCardStoryItem(int index, GObject obj)
  39. {
  40. UI_ListCardStoryItem listItem = UI_ListCardStoryItem.Proxy(obj);
  41. CardStoryCfg cardStoryCfg = CardDataManager.GetStoryCfgsById(_viewData.itemCfg.id)[index];
  42. listItem.m_txtTitle.text = string.Format("第{0}节", NumberUtil.GetChiniseNumberText(index + 1));// "第" + NumberUtil.GetChiniseNumberText(index + 1) + "节";
  43. if (_viewData.lv >= cardStoryCfg.lvl)
  44. {
  45. listItem.m_c1.selectedIndex = 0;
  46. if (listItem.target.data == null)
  47. {
  48. listItem.m_btnGo.onClick.Add(OnClickBtnGo);
  49. }
  50. listItem.m_btnGo.data = cardStoryCfg;
  51. }
  52. else
  53. {
  54. listItem.m_c1.selectedIndex = 1;
  55. listItem.m_txtDescribe.text = string.Format("词牌等级达到{0}级解锁", cardStoryCfg.lvl); ; ;// "词牌等级达到" + cardStoryCfg.lvl + "级解锁";
  56. }
  57. UI_ListCardStoryItem.ProxyEnd();
  58. }
  59. private void OnClickBtnGo(EventContext context)
  60. {
  61. var cardStoryCfg = ((GButton)context.sender).data as CardStoryCfg;
  62. if(cardStoryCfg == null)
  63. {
  64. return;
  65. }
  66. StoryController.ShowCardStoryDialog(cardStoryCfg, _viewData);
  67. }
  68. private void OnClickBtnMood()
  69. {
  70. if (_viewData.star < _viewData.itemCfg.cardMoodStar)
  71. {
  72. PromptController.Instance.ShowFloatTextPrompt(string.Format("词牌星级达到{0}级解锁", _viewData.itemCfg.cardMoodStar));
  73. return;
  74. }
  75. ViewManager.Show(ViewName.CARD_Mood_VIEW, _viewData, new object[] { typeof(CardStoryView).FullName, _viewData });
  76. }
  77. protected override void OnHide()
  78. {
  79. base.OnHide();
  80. }
  81. }
  82. }