Distance#
Math / Geometry / Distance Vector3
Can Read
Cannot Write
Description#
Returns the distance between two Vector3 positions
Code#
using System;
using UnityEngine;
using VisualScript.Icons;
namespace VisualScript.Runtime
{
[Get]
[Title("Distance")]
[Category("Math/Geometry/Distance", "Vector3")]
[Description("Returns the distance between two Vector3 positions")]
[Image(typeof(IconCompass), ColorTheme.Type.Yellow)]
[Keywords("Vector", "Position", "Point")]
[Serializable]
public class TypeNumberMathVector3Distance : TypeNumber
{
[SerializeField] private GetVector3 m_Position1 = new GetVector3();
[SerializeField] private GetVector3 m_Position2 = new GetVector3();
public override double GetPreview(GameObject source) =>
Vector3.Distance(
this.m_Position1.GetPreview(source),
this.m_Position2.GetPreview(source)
);
public override double Get(Args args)
{
return Vector3.Distance(
this.m_Position1.Get(args),
this.m_Position2.Get(args)
);
}
public override string ToString()
{
return $"Distance ({this.m_Position1}, {this.m_Position2})";
}
protected override SubscriptionMode Subscription => SubscriptionMode.OnChange;
}
}