-->





/// <summary>
/// テレポートを実行
/// </summary>
/// <param name="distance">テレポートの跳躍距離</param>
/// <param name="duration">テレポートにかかる時間</param>
public void DoTeleport(float distance, float duration)
{
SetBaseMaterialValue();
target.material.SetFloat("_Distance", distance);
target.material.SetFloat("_TeleportPow", 0);
DOTween.To(() => target.material.GetFloat("_TeleportPow"), (val) =>
{
target.material.SetFloat("_TeleportPow", val);
}, 1, duration).SetEase(Ease.InQuad);
}
/// <summary>
/// テレポートの逆再生
/// </summary>
/// <param name="distance">テレポートの跳躍距離</param>
/// <param name="duration">テレポートにかかる時間</param>
public void UndoTeleport(float distance, float duration)
{
SetBaseMaterialValue();
target.material.SetFloat("_Distance", distance);
target.material.SetFloat("_TeleportPow", 1);
DOTween.To(() => target.material.GetFloat("_TeleportPow"), (val) =>
{
target.material.SetFloat("_TeleportPow", val);
}, 0, duration).SetEase(Ease.OutQuad).OnComplete(() =>
{
target.material.SetFloat("_Distance", 1);
target.material.SetFloat("_PosY", 0);
});
}
/// <summary>
/// テレポートする際の粒子の粗さを変更する。おすすめは1~200の間。
/// </summary>
public void SetBitRoughness(int roughness)
{
this.roughness = roughness;
}
/// <summary>
/// テレポートする際の粒子のバラつき具合を変更する。おすすめは1~10の間。
/// </summary>
public void SetScattering(int scattering)
{
this.scattering = scattering;
}
/// <summary>
/// テレポートする際の単一色の指定
/// </summary>
public void SetColor(Color color)
{
isUseMonoCol = true;
monoCol = color;
}
/// <summary>
/// テレポートする際に単一色に変化させない設定
/// </summary>
public void UnsetColor()
{
isUseMonoCol = false;
}