CardSkillView.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. using FairyGUI;
  2. using UI.Card;
  3. namespace GFGGame
  4. {
  5. public class CardSkillView : BaseWindow
  6. {
  7. private UI_CardSkillUI _ui;
  8. // private PassivitySkillCfg _viewData;
  9. private int _cardId;
  10. private int _skillId;
  11. private CardSkillCfg cardSkillCfg;
  12. private PassivitySkillCfg passivitySkillCfg;
  13. public override void Dispose()
  14. {
  15. base.Dispose();
  16. }
  17. protected override void OnInit()
  18. {
  19. base.OnInit();
  20. _ui = UI_CardSkillUI.Create();
  21. this.viewCom = _ui.target;
  22. this.viewCom.Center();
  23. this.modal = true;
  24. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  25. _ui.m_listConsume.itemRenderer = RenderListStarConsumeItem;
  26. EventAgent.AddEventListener(ConstMessage.CARD_UP_SKILL, UpdateView);
  27. }
  28. protected override void OnShown()
  29. {
  30. base.OnShown();
  31. _cardId = (int)(viewData as object[])[0];
  32. _skillId = (int)(viewData as object[])[1];
  33. cardSkillCfg = SkillDataManager.Instance.GetCardSkillCfg(_cardId, _skillId);
  34. passivitySkillCfg = SkillDataManager.Instance.GetPassivitySkillCfg(_cardId, _skillId);
  35. _ui.m_txtName.text = passivitySkillCfg.name;
  36. UpdateView();
  37. }
  38. private void UpdateView()
  39. {
  40. _ui.m_c1.selectedIndex = 0;
  41. SkillData skillData = SkillDataManager.Instance.GetSkillData(_cardId, _skillId);
  42. int lv = skillData == null ? 1 : skillData.lv;
  43. UpdateComLv(_ui.m_comCurLV, lv, lv + "级");
  44. if (skillData != null && skillData.lv == PassivitySkillCfgArray.Instance.GetCfgs(_cardId).Length) //已满级
  45. {
  46. _ui.m_c1.selectedIndex = 1;
  47. return;
  48. }
  49. UpdateComLv(_ui.m_comNextLv, lv + 1, "下一级");
  50. // _ui.m_listConsume.numItems=
  51. }
  52. private void UpdateComLv(UI_ComSkillDiscribe com, int lv, string title)
  53. {
  54. com.m_txtLv.text = title;
  55. com.m_txtDiscribe.text = cardSkillCfg.describe;
  56. }
  57. private void RenderListStarConsumeItem(int index, GObject obj)
  58. {
  59. UI_ComStarConsume listItem = UI_ComStarConsume.Proxy(obj);
  60. CardStarCfg cardStarCfg = listItem.target.parent.data as CardStarCfg;
  61. listItem.target.data = cardStarCfg.materiarsArr[index][0];
  62. ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(cardStarCfg.materiarsArr[index][0]);
  63. listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
  64. int needCount = cardStarCfg.materiarsArr[index][1];
  65. int hasCount = ItemDataManager.GetItemNum(cardStarCfg.materiarsArr[index][0]);
  66. listItem.m_txtNeedCount.text = StringUtil.GetColorText(needCount.ToString(), hasCount < needCount ? "#D27869" : "#FDF3D7"); ;
  67. listItem.m_txtHasCount.text = hasCount.ToString();
  68. listItem.m_btnPlus.visible = false;
  69. if (listItem.m_btnPlus.data == null)
  70. {
  71. listItem.m_btnPlus.onClick.Add(() => OnClickBtnPlusStarConsum(index));
  72. }
  73. listItem.m_btnPlus.data = cardStarCfg.materiarsArr[index][0];
  74. if (hasCount < needCount)
  75. {
  76. //材料不足显示加号
  77. // _comFosterBottom.m_btnUpStar.data = 1;
  78. listItem.m_btnPlus.visible = true;
  79. }
  80. }
  81. private void OnClickBtnPlusStarConsum(int index)
  82. {
  83. // int itemId = int.Parse(UI_ComStarConsume.Proxy(_comFosterBottom.m_listStarConsume.GetChildAt(index)).target.data.ToString());
  84. // ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { ViewName.CARD_FOSTER_VIEW, this.viewData } });
  85. }
  86. protected override void OnHide()
  87. {
  88. base.OnHide();
  89. }
  90. }
  91. }