49 lines
966 B
C#
49 lines
966 B
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace RuntimeGizmos
|
|
{
|
|
public struct AxisInfo
|
|
{
|
|
public Vector3 pivot;
|
|
public Vector3 xDirection;
|
|
public Vector3 yDirection;
|
|
public Vector3 zDirection;
|
|
|
|
public void Set(Transform target, Vector3 pivot, TransformSpace space)
|
|
{
|
|
if(space == TransformSpace.Global)
|
|
{
|
|
xDirection = Vector3.right;
|
|
yDirection = Vector3.up;
|
|
zDirection = Vector3.forward;
|
|
}
|
|
else if(space == TransformSpace.Local)
|
|
{
|
|
xDirection = target.right;
|
|
yDirection = target.up;
|
|
zDirection = target.forward;
|
|
}
|
|
|
|
this.pivot = pivot;
|
|
}
|
|
|
|
public Vector3 GetXAxisEnd(float size)
|
|
{
|
|
return pivot + (xDirection * size);
|
|
}
|
|
public Vector3 GetYAxisEnd(float size)
|
|
{
|
|
return pivot + (yDirection * size);
|
|
}
|
|
public Vector3 GetZAxisEnd(float size)
|
|
{
|
|
return pivot + (zDirection * size);
|
|
}
|
|
public Vector3 GetAxisEnd(Vector3 direction, float size)
|
|
{
|
|
return pivot + (direction * size);
|
|
}
|
|
}
|
|
}
|