using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
using GameLogic.Combat.CombatTool;
using GameLogic.Combat.Hero;
using UnityEngine;
using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
namespace GameLogic.Combat.Skill
{
///
/// 战士的旋风斩
///
public class S10001 : SkillBasic
{
protected float _harm;
protected override void ProInitSkill()
{
_harm = 400;
AddTriggerCallBack("sk1_fashe", Sk1_fasheTrigger);
}
// protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
// TimeLineEventLogicBasic timeLineEventLogicBasic)
// {
// ILifetCycleHitPoint[] allHero = new ILifetCycleHitPoint[_enterAlertTarget.Count];
// for (int i = 0; i < _enterAlertTarget.Count; i++)
// {
// allHero[i] = _enterAlertTarget[i].GetMainHotPoin();
// }
//
// return allHero;
// }
protected override void ProUseSkill()
{
ActivationTimeLineData("sk1");
}
protected void Sk1_fasheTrigger(string groupName, CombatHeroHitPoint targetEntity,
ITimelineFxLogic timelineFxLogic,
TriggerData triggerData)
{
long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
_harm);
HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity,
v, AttType.Skill, triggerData);
}
protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
ITimelineFxLogic timelineFxLogic,
TriggerData triggerData)
{
if (targetEntity.combatHeroEntity == CombatHeroEntity)
{
for (int i = 0; i < 4; i++)
{
Vector3 forward = CombatHeroEntity.combatHeroGameObject.transform.forward;
Quaternion quaternion = Quaternion.AngleAxis(i * 90, Vector3.up);
// quaternion = quaternion + CombatHeroEntity.combatHeroGameObject.transform.rotation;
// Vector3 newAngle = new Vector3(eulerAngles.x, eulerAngles.y + i * 15+180, eulerAngles.z);
// Quaternion quaternion = Quaternion.Euler(newAngle);
forward = quaternion * forward;
Vector3 targetPos = CombatHeroEntity.combatHeroGameObject.transform.position + forward;
ActivationTimeLineData("sk1_fashe", null, new Vector3[] { targetPos });
}
}
else
{
long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
_harm);
HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity,
v, AttType.Skill, triggerData);
}
}
}
}