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 = 400;
  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. //
  28. // return allHero;
  29. // }
  30. protected override void ProUseSkill()
  31. {
  32. ActivationTimeLineData("sk1");
  33. }
  34. protected void Sk1_fasheTrigger(string groupName, CombatHeroHitPoint targetEntity,
  35. ITimelineFxLogic timelineFxLogic,
  36. TriggerData triggerData)
  37. {
  38. long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
  39. _harm);
  40. HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity,
  41. v, AttType.Skill, triggerData);
  42. }
  43. protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
  44. ITimelineFxLogic timelineFxLogic,
  45. TriggerData triggerData)
  46. {
  47. if (targetEntity.combatHeroEntity == CombatHeroEntity)
  48. {
  49. for (int i = 0; i < 4; i++)
  50. {
  51. Vector3 forward = CombatHeroEntity.combatHeroGameObject.transform.forward;
  52. Quaternion quaternion = Quaternion.AngleAxis(i * 90, Vector3.up);
  53. // quaternion = quaternion + CombatHeroEntity.combatHeroGameObject.transform.rotation;
  54. // Vector3 newAngle = new Vector3(eulerAngles.x, eulerAngles.y + i * 15+180, eulerAngles.z);
  55. // Quaternion quaternion = Quaternion.Euler(newAngle);
  56. forward = quaternion * forward;
  57. Vector3 targetPos = CombatHeroEntity.combatHeroGameObject.transform.position + forward;
  58. ActivationTimeLineData("sk1_fashe", null, new Vector3[] { targetPos });
  59. }
  60. }
  61. else
  62. {
  63. long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
  64. _harm);
  65. HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity,
  66. v, AttType.Skill, triggerData);
  67. }
  68. }
  69. }
  70. }