浏览代码

Updated Behavior for ReachPositionRig with Callables on Reaching point

/main
Thomas ICHÉ 5 年前
当前提交
523d6683
共有 1 个文件被更改,包括 26 次插入3 次删除
  1. 29
      Runtime/Ingredients/Rigs/ReachPositionRig.cs

29
Runtime/Ingredients/Rigs/ReachPositionRig.cs


using NaughtyAttributes;
using UnityEngine;
namespace GameplayIngredients.Rigs

public Transform target => m_Target;
[Header("Target")]
[Header("Motion")]
[Header("On Reach Position")]
[ReorderableList]
public Callable[] OnReachPosition;
public float ReachSnapDistance = 0.01f;
bool m_PositionReached = false;
var delta = m_Target.position - transform.position;
var speed = Time.deltaTime * Mathf.Min((Dampen * delta.magnitude), MaximumVelocity);
gameObject.transform.position += delta.normalized * speed;
if(Vector3.Distance(transform.position , m_Target.position) < ReachSnapDistance)
{
transform.position = m_Target.position;
if(!m_PositionReached)
{
Callable.Call(OnReachPosition, this.gameObject);
m_PositionReached = true;
}
}
else
{
var delta = m_Target.position - transform.position;
var speed = Time.deltaTime * Mathf.Min((Dampen * delta.magnitude), MaximumVelocity);
gameObject.transform.position += delta.normalized * speed;
m_PositionReached = false;
}
}
}

正在加载...
取消
保存