CardStoryView.cs 3.1 KB

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