PlayerDetailsAttributeCtrl.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. /// #pkgName FGUI包名
  2. /// #panelName UIPanel名字
  3. /// #UIName = $"{#pkgName}{#panelName}" UIKey名字
  4. /// 该脚本由模板创建
  5. /// created by cb 2024
  6. using FL.Data;
  7. using System.Collections.Generic;
  8. using XGame.Database;
  9. using XGame.Framework.UI;
  10. namespace FL.FGUI
  11. {
  12. /// <summary>
  13. /// UI逻辑处理类
  14. /// </summary>
  15. /// <typeparam name=""></typeparam>
  16. public partial class PlayerDetailsAttributeCtrl : UIController<PlayerDetailsAttributeVM>
  17. {
  18. private List<AttributeParam> _baseAttributeList; // 基础属性
  19. private List<AttributeParam> _battleAttributeList; // 战斗属性
  20. private List<AttributeParam> _battleResistanceAttrList; // 战斗抗性
  21. private List<AttributeParam> _specialAttributeList; // 特殊属性
  22. protected override void OnEnable(object intent)
  23. {
  24. AddUIListenres();
  25. InitData();
  26. ShowAttributeUI();
  27. }
  28. protected override void OnDisable()
  29. {
  30. RemoveUIListenres();
  31. if (_baseAttributeList != null)
  32. {
  33. _baseAttributeList.Clear();
  34. _baseAttributeList = null;
  35. }
  36. if (_battleAttributeList != null)
  37. {
  38. _battleAttributeList.Clear();
  39. _battleAttributeList = null;
  40. }
  41. if (_battleResistanceAttrList != null)
  42. {
  43. _battleResistanceAttrList.Clear();
  44. _battleResistanceAttrList = null;
  45. }
  46. if (_specialAttributeList != null)
  47. {
  48. _specialAttributeList.Clear();
  49. _specialAttributeList = null;
  50. }
  51. }
  52. #region UI事件
  53. private void AddUIListenres()
  54. {
  55. }
  56. private void RemoveUIListenres()
  57. {
  58. }
  59. #endregion
  60. private void InitData()
  61. {
  62. if (_baseAttributeList == null)
  63. {
  64. _baseAttributeList = new List<AttributeParam>()
  65. {
  66. GetAttributeParam(EAttributeType.Atk),
  67. GetAttributeParam(EAttributeType.Hp),
  68. GetAttributeParam(EAttributeType.Def),
  69. GetAttributeParam(EAttributeType.AtkSpeed)
  70. };
  71. }
  72. if (_battleAttributeList == null)
  73. {
  74. _battleAttributeList = new List<AttributeParam>()
  75. {
  76. GetAttributeParam(EAttributeType.Verti),//击晕
  77. GetAttributeParam(EAttributeType.Crit),// 暴击
  78. GetAttributeParam(EAttributeType.DoubleHit),//连击
  79. GetAttributeParam(EAttributeType.Eva), // 闪避
  80. GetAttributeParam(EAttributeType.Counter)// 反击
  81. };
  82. }
  83. if (_battleResistanceAttrList == null)
  84. {
  85. _battleResistanceAttrList = new List<AttributeParam>()
  86. {
  87. GetAttributeParam(EAttributeType.VertigoRes),//抗击晕
  88. GetAttributeParam(EAttributeType.CritDmgFac),//抗暴击
  89. GetAttributeParam(EAttributeType.DoubleHitRes),//抗连击
  90. GetAttributeParam(EAttributeType.EvaRes), //抗闪避
  91. GetAttributeParam(EAttributeType.CounterRes)//抗反击
  92. };
  93. }
  94. if (_specialAttributeList == null)
  95. {
  96. _specialAttributeList = new List<AttributeParam>()
  97. {
  98. GetAttributeParam(EAttributeType.CritDmgRes),//暴击减伤
  99. GetAttributeParam(EAttributeType.DoubleHitDmgRes),//连击减伤
  100. GetAttributeParam(EAttributeType.CounterDmgRes),//反击减伤
  101. GetAttributeParam(EAttributeType.DmgRes),//伤害减免
  102. GetAttributeParam(EAttributeType.BossDmgRes), //BOSS减伤
  103. GetAttributeParam(EAttributeType.IceFac),//冰系增伤
  104. GetAttributeParam(EAttributeType.FireFac),//火系增伤
  105. GetAttributeParam(EAttributeType.PoisonFac),//毒系增伤
  106. GetAttributeParam(EAttributeType.WindFac),//风系增伤
  107. GetAttributeParam(EAttributeType.ThunderFac),//雷系增伤
  108. GetAttributeParam(EAttributeType.IceDmgRes),//冰系减伤
  109. GetAttributeParam(EAttributeType.FireDmgRes),//火系减伤
  110. GetAttributeParam(EAttributeType.PoisonDmgRes),//毒系减伤
  111. GetAttributeParam(EAttributeType.WindDmgRes),//风系减伤
  112. GetAttributeParam(EAttributeType.ThunderDmgRes),//雷系减伤
  113. };
  114. }
  115. }
  116. private AttributeParam GetAttributeParam(EAttributeType attributeType)
  117. {
  118. var attrParam = new AttributeParam()
  119. {
  120. attributeType = attributeType,
  121. attributeValue = PlayerData.Instance.Attr.GetValue(attributeType)
  122. };
  123. return attrParam;
  124. }
  125. private void ShowAttributeUI()
  126. {
  127. VM.BaseAttributeList.Ctrl.ShowUI(_baseAttributeList);
  128. VM.BattleAttributeList.Ctrl.ShowUI(_battleAttributeList);
  129. VM.BattleResistanceAttrList.Ctrl.ShowUI(_battleResistanceAttrList);
  130. VM.SpecialAttributeList.Ctrl.ShowUI(_specialAttributeList);
  131. }
  132. }
  133. }