S10001.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
  2. using GameLogic.Combat.CombatTool;
  3. using GameLogic.Combat.Hero;
  4. using UnityEngine;
  5. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
  6. namespace GameLogic.Combat.Skill
  7. {
  8. /// <summary>
  9. /// 战士的旋风斩
  10. /// </summary>
  11. public class S10001 : SkillBasic
  12. {
  13. protected float _harm;
  14. protected override void ProInitSkill()
  15. {
  16. _harm = 200;
  17. AddTriggerCallBack("sk1_fashe", Sk1_fasheTrigger);
  18. }
  19. protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
  20. TimeLineEventLogicBasic timeLineEventLogicBasic)
  21. {
  22. ILifetCycleHitPoint[] allHero = new ILifetCycleHitPoint[_enterAlertTarget.Count];
  23. for (int i = 0; i < _enterAlertTarget.Count; i++)
  24. {
  25. allHero[i] = _enterAlertTarget[i].GetMainHotPoin<ILifetCycleHitPoint>();
  26. }
  27. return allHero;
  28. }
  29. protected override void ProUseSkill()
  30. {
  31. ActivationTimeLineData("sk1");
  32. }
  33. protected void Sk1_fasheTrigger(string groupName, CombatHeroHitPoint targetEntity,
  34. ITimelineFxLogic timelineFxLogic,
  35. TriggerData triggerData)
  36. {
  37. long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
  38. _harm);
  39. HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity,
  40. v, AttType.Skill, triggerData);
  41. }
  42. protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
  43. ITimelineFxLogic timelineFxLogic,
  44. TriggerData triggerData)
  45. {
  46. if (targetEntity.combatHeroEntity == CombatHeroEntity)
  47. {
  48. for (int i = 0; i < 4; i++)
  49. {
  50. Vector3 forward = CombatHeroEntity.combatHeroGameObject.transform.forward;
  51. Quaternion quaternion = Quaternion.AngleAxis(i * 90, Vector3.up);
  52. // quaternion = quaternion + CombatHeroEntity.combatHeroGameObject.transform.rotation;
  53. // Vector3 newAngle = new Vector3(eulerAngles.x, eulerAngles.y + i * 15+180, eulerAngles.z);
  54. // Quaternion quaternion = Quaternion.Euler(newAngle);
  55. forward = quaternion * forward;
  56. Vector3 targetPos = CombatHeroEntity.combatHeroGameObject.transform.position + forward;
  57. ActivationTimeLineData("sk1_fashe", null, new Vector3[] { targetPos });
  58. }
  59. }
  60. else
  61. {
  62. long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
  63. _harm);
  64. HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity,
  65. v, AttType.Skill, triggerData);
  66. }
  67. }
  68. }
  69. }