12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
- using Core.Utility;
- using Fort23.Core;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.Hero;
- using UnityEngine;
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 狼boss 第3个技能,跳跃攻击范围那的敌人
- /// </summary>
- public class S140003 : SkillBasic
- {
- private float _harm;
- private Parabola3DPath parabolaPath;
- protected float _currTime;
- protected float _addTime;
- protected override void ProInitSkillConfig()
- {
- _harm = SelfSkillConfig.effectValue[0];
- _addTime=1.0f/0.37f;
- }
- protected override void ProUseSkill()
- {
- ActivationTimeLineData("sk3");
- }
- protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
- ITimelineFxLogic timelineFxLogic,
- TriggerData triggerData)
- {
- _currTime = 0;
- parabolaPath = CObjectPool.Instance.Fetch<Parabola3DPath>();
- parabolaPath.addY += 3;
- Vector3 startPos = CombatHeroEntity.dotPos;
- Vector3 targetPos = startPos + CombatHeroEntity.faceDir * 4 ;
- parabolaPath.SetPos(startPos, targetPos);
-
- }
- protected override void ProSkillPlayFinish()
- {
- CObjectPool.Instance.Recycle(parabolaPath);
- parabolaPath = null;
- }
- protected override void ProCombatUpdate(float time)
- {
- if (parabolaPath != null)
- {
- _currTime += time*_addTime;
- Vector3 pos = parabolaPath.GetPositionAtTime(_currTime);
- CombatHeroEntity.combatHeroGameObject.SetPosition(pos);
- if (_currTime >= 1)
- {
- CObjectPool.Instance.Recycle(parabolaPath);
- parabolaPath = null;
- long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(
- CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
- _harm);
- for (int i = 0; i < _enterAlertTarget.Count; i++)
- {
- CombatHeroHitPoint combatHeroHitPoint = _enterAlertTarget[i].GetMainHotPoin<CombatHeroHitPoint>();
- HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, combatHeroHitPoint,
- v, AttType.Skill, triggerData);
- }
- }
- }
- }
- }
- }
|