2
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.1 KiB
C#

using UnityEngine;
using UnityEngine.Timeline;
namespace Game
{
public class ClipThrowPosition : TimelineClipBase
{
private ThrowPositionClip _mRealAsset;
private GameEntity target;
public override void OnEnter()
{
_mRealAsset = Asset as ThrowPositionClip;
target = Util.GetEntity(Owner.skill.ThrowTarget);
SetPos(_mRealAsset.template.startPos);
}
public override void OnStay()
{
var rate = (Owner.timeline.TimePast - StartTime) / (EndTime - StartTime);
var pos = Vector3.Lerp(_mRealAsset.template.startPos, _mRealAsset.template.endPos, (float)rate);
SetPos(pos);
}
public override void OnLeave()
{
SetPos(_mRealAsset.template.endPos);
}
private void SetPos(Vector3 pos)
{
var relatedPos = new Vector3(pos.x * (Owner.move.IsRight ? 1 : -1), pos.y, pos.z);
var targetPos = Owner.Pos() + relatedPos;
target.SetPos(targetPos);
}
}
}