S10001.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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
  15. protected override void ProInitSkillConfig()
  16. {
  17. _harm = SelfSkillConfig.effectValue[0];
  18. AddTriggerCallBack("sk1_fashe", Sk1_fasheTrigger);
  19. }
  20. // protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
  21. // TimeLineEventLogicBasic timeLineEventLogicBasic)
  22. // {
  23. // ILifetCycleHitPoint[] allHero = new ILifetCycleHitPoint[_enterAlertTarget.Count];
  24. // for (int i = 0; i < _enterAlertTarget.Count; i++)
  25. // {
  26. // allHero[i] = _enterAlertTarget[i].GetMainHotPoin<ILifetCycleHitPoint>();
  27. // }
  28. //
  29. // return allHero;
  30. // }
  31. protected override void ProUseSkill()
  32. {
  33. ActivationTimeLineData("sk1");
  34. }
  35. protected void Sk1_fasheTrigger(string groupName, CombatHeroHitPoint targetEntity,
  36. ITimelineFxLogic timelineFxLogic,
  37. TriggerData triggerData)
  38. {
  39. long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
  40. _harm);
  41. HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity,
  42. v, AttType.Skill, triggerData);
  43. }
  44. protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
  45. ITimelineFxLogic timelineFxLogic,
  46. TriggerData triggerData)
  47. {
  48. if (targetEntity.combatHeroEntity == CombatHeroEntity)
  49. {
  50. Vector3 forward = new Vector3(0, 0, 1);
  51. Vector3 eulerAngles = CombatHeroEntity.combatHeroGameObject.transform.eulerAngles;
  52. Vector3 zdPos = CombatHeroEntity.GetSpecialDotInfo("zdpos").GetWorlPos();
  53. for (int i = 0; i < 4; i++)
  54. {
  55. eulerAngles.y = i * 90;
  56. // Quaternion quaternion = Quaternion.AngleAxis(i * 90, Vector3.up);
  57. // quaternion = quaternion + CombatHeroEntity.combatHeroGameObject.transform.rotation;
  58. // Vector3 newAngle = new Vector3(eulerAngles.x, eulerAngles.y + i * 15+180, eulerAngles.z);
  59. // Quaternion quaternion = Quaternion.Euler(newAngle);
  60. Quaternion quaternion = Quaternion.Euler(eulerAngles);
  61. Vector3 newForward = quaternion * forward;
  62. Vector3 targetPos = zdPos + newForward;
  63. ActivationTimeLineData("sk1_fashe", null, new Vector3[] { targetPos });
  64. }
  65. }
  66. else
  67. {
  68. long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(
  69. CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
  70. _harm);
  71. HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity,
  72. v, AttType.Skill, triggerData);
  73. }
  74. }
  75. }
  76. }