ILogicFighterOper.cs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System;
  5. namespace YLBattle
  6. {
  7. /// <summary>
  8. /// LogicFighter管理接口
  9. /// </summary>
  10. public interface ILogicFighterOper
  11. {
  12. /// <summary>
  13. /// 寻求朋友帮助
  14. /// </summary>
  15. /// <param name="seat">占位</param>
  16. void SetFriendHelp(int seat, bool isShowTip = false);
  17. /// <summary>
  18. /// 查找指定战斗对象
  19. /// </summary>
  20. /// <param name="id">对象唯一编号</param>
  21. /// <returns>目标</returns>
  22. LogicFighter FindFighter(string id);
  23. /// <summary>
  24. /// 获取目前存活人员
  25. /// </summary>
  26. List<LogicFighter> FindAliveFighter();
  27. /// <summary>
  28. /// 获取所有人员
  29. /// </summary>
  30. List<LogicFighter> FindFighter();
  31. /// <summary>
  32. /// 获取指定队伍目前存活人员
  33. /// </summary>
  34. /// <param name="team">队伍描述</param>
  35. /// <returns>人员列表</returns>
  36. List<LogicFighter> FindTeamAliveFighter(EBattleTeam team);
  37. /// <summary>
  38. /// 获取指定角色的敌人队伍存活列表
  39. /// </summary>
  40. /// <param name="id">参照对象编号</param>
  41. /// <returns>敌方存活角色列表</returns>
  42. List<LogicFighter> FindEnemyTeam(string id);
  43. /// <summary>
  44. /// 获取指定角色的友方队伍存活列表
  45. /// </summary>
  46. /// <param name="id">参照对象编号</param>
  47. /// <returns>友方存活角色列表,包含自己</returns>
  48. List<LogicFighter> FindFriendTeam(string id);
  49. /// <summary>
  50. /// 根据站位查找fighter
  51. /// </summary>
  52. /// <param name="_seat">指定占位</param>
  53. /// <param name="team">所属队列</param>
  54. /// <returns></returns>
  55. LogicFighter FindFighterBySeat(int _seat, EBattleTeam team);
  56. /// <summary>
  57. /// 查找与目标指定关系的对象列表
  58. /// </summary>
  59. /// <param name="id">参照对象编号</param>
  60. /// <param name="relation">关系过滤</param>
  61. /// <returns>对象列表</returns>
  62. List<LogicFighter> FindRelationAliveFighters(string id, EBattleRelation relation);
  63. /// <summary>
  64. /// 获得当前存活的按攻击速度排序的所有人员
  65. /// </summary>
  66. /// <returns></returns>
  67. List<LogicFighter> FindAliveSortFighter(EBattleTeam _team);
  68. /// <summary>
  69. /// 获取指定队伍人员
  70. /// </summary>
  71. /// <param name="team">目标队伍</param>
  72. /// <returns>对象列表</returns>
  73. List<LogicFighter> FindTeamAllFighter(EBattleTeam team);
  74. /// <summary>
  75. /// 选择地图中间的人
  76. /// </summary>
  77. /// <returns></returns>
  78. LogicFighter FindCenterEnemy(string who, EBattleTeam _team);
  79. /// <summary>
  80. /// 刷新当前地图中间位置的橘色
  81. /// </summary>
  82. /// <param name="_team"></param>
  83. /// <returns></returns>
  84. LogicFighter OnUpdateMapCenterFighter(EBattleTeam _team);
  85. /// <summary>
  86. /// 禁用指定战斗对象
  87. /// </summary>
  88. /// <param name="id">角色编号</param>
  89. void MarkDeathFighter(string id);
  90. /// <summary>
  91. /// 从死亡列表中移除指定对象
  92. /// </summary>
  93. /// <param name="id">对象id</param>
  94. void RemoveFighterFromDeath(string id);
  95. /// <summary>
  96. /// 英雄受到治疗效果
  97. /// </summary>
  98. /// <param name="who">目标对象id</param>
  99. /// <param name="cure">治疗值</param>
  100. void OnCureLogicFighter(string who, float cure, float tipdelayTime = 0);
  101. /// <summary>
  102. /// 英雄能量恢复
  103. /// </summary>
  104. /// <param name="who">目标对象id</param>
  105. /// <param name="power">能量值</param>
  106. /// <param name="isTip">是否需要提示信息</param>
  107. void OnCurePower(string who, float power, bool isTip = false);
  108. /// <summary>
  109. /// 英雄受到魔法伤害
  110. /// </summary>
  111. /// <param name="casterID">施法者ID</param>
  112. /// <param name="targetID">目标对象ID</param>
  113. /// <param name="damage">伤害数值</param>
  114. /// <param name="isCrit">是否暴击</param>
  115. /// <param name="isCrit">是否必杀</param>
  116. /// <param name="isCrit">tip延迟时间</param>
  117. void OnMagicDamageToBattleFighter(string casterID, string targetID, float damage,
  118. bool isCritical = false, float tipdelayTime = 0);
  119. /// <summary>
  120. /// 角色受伤恢复Power
  121. /// </summary>
  122. /// <param name="ctx">事件内容</param>
  123. //void OnFighterDamageHandle(string who, float damage);
  124. }
  125. }