BattleUnitBase.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. /// <summary>
  5. /// 描述:
  6. /// 作者:
  7. /// </summary>
  8. public class BattleUnitBase : MonoBehaviour
  9. {
  10. private YLBattleUnit _mData = null;
  11. private List<ComboData> _comboList;
  12. private Dictionary<E_KeyType, List<KeyComboInfo>> _keyInfoDic;
  13. /// <summary>
  14. /// 所有必杀技信息
  15. /// </summary>
  16. private Dictionary<E_KeyType, List<KeyComboInfo>> _allUniqueDic;
  17. /// <summary>
  18. /// buff状态是否可移动
  19. /// </summary>
  20. public bool buffCanMove = true;
  21. /// <summary>
  22. /// buff状态是否可攻击
  23. /// </summary>
  24. public bool buffCanAttack = true;
  25. public YLBattleUnit mData
  26. {
  27. get
  28. {
  29. return _mData;
  30. }
  31. }
  32. /// <summary>
  33. /// 是否死亡
  34. /// </summary>
  35. public bool isDie
  36. {
  37. get
  38. {
  39. return _mData.HP_Final <= 0;
  40. }
  41. }
  42. /// <summary>
  43. /// 初始化
  44. /// </summary>
  45. /// <param name="data"></param>
  46. public void Init(YLBattleUnit data)
  47. {
  48. _mData = data;
  49. }
  50. /// <summary>
  51. /// 获取按键所对应的连击信息
  52. /// </summary
  53. /// <param name="heroTID">英雄模版ID</param>
  54. /// <param name="type">按键类型</param>
  55. /// <returns>数据</returns>
  56. public List<KeyComboInfo> GetKeyComboInfo(E_KeyType kType)
  57. {
  58. List<KeyComboInfo> comboInfos = new List<KeyComboInfo>();
  59. // 普通攻击
  60. if (kType == E_KeyType.J)
  61. {
  62. sm_skill skill = GameConfigData.Ins.GetskillMo(int.Parse(mData.GetSKillNormal()));
  63. KeyComboInfo kInfo = new KeyComboInfo();
  64. kInfo.Key = E_KeyType.J;
  65. kInfo.Skill = skill;
  66. comboInfos.Add(kInfo);
  67. }
  68. // 闪避/冲刺 技能
  69. else if (kType == E_KeyType.I)
  70. {
  71. sm_skill skill = GameConfigData.Ins.GetskillMo(int.Parse(mData.GetSKillJixianshabi()));
  72. KeyComboInfo kInfo = new KeyComboInfo();
  73. kInfo.Key = E_KeyType.I;
  74. kInfo.Skill = skill;
  75. comboInfos.Add(kInfo);
  76. }
  77. // 武器技能
  78. else if (kType == E_KeyType.K)
  79. {
  80. sm_skill skill = GameConfigData.Ins.GetskillMo(int.Parse(mData.GetSkillBisha()));
  81. KeyComboInfo kInfo = new KeyComboInfo();
  82. kInfo.Key = E_KeyType.K;
  83. kInfo.Skill = skill;
  84. comboInfos.Add(kInfo);
  85. }
  86. // 必杀技能
  87. else if (kType == E_KeyType.L)
  88. {
  89. sm_skill skill = GameConfigData.Ins.GetskillMo(int.Parse(mData.GetSkillBisha()));
  90. KeyComboInfo kInfo = new KeyComboInfo();
  91. kInfo.Key = E_KeyType.L;
  92. kInfo.Skill = skill;
  93. comboInfos.Add(kInfo);
  94. }
  95. return comboInfos;
  96. }
  97. }