Files
EmeraidAI/Runtime/Scripts/Components/Optional/TargetPositionModifier.cs
2025-07-20 10:01:29 +08:00

35 lines
1.3 KiB
C#

using UnityEngine;
namespace EmeraldAI.Utility
{
[ExecuteInEditMode]
[HelpURL("https://black-horizon-studios.gitbook.io/emerald-ai-wiki/emerald-components-optional/target-position-modifier-component")]
public class TargetPositionModifier : MonoBehaviour
{
public bool HideSettingsFoldout;
public bool TPMSettingsFoldout = false;
public Transform TransformSource;
public float PositionModifier = 0;
public float GizmoRadius = 0.15f;
public Color GizmoColor = new Color(1f, 0, 0, 0.8f);
void OnEnable()
{
if (TransformSource == null && Application.isPlaying)
{
Debug.LogError("<b>Target Position Modifier:</b> " + "No Transform Source has been assigned on " + gameObject.name + ". The Transform Source will be set as this object instead (which may be undesirable). To resolve this, add a proper Transform Source through the Target Position Modifier editor.");
TransformSource = transform;
}
}
private void OnDrawGizmosSelected()
{
if (TransformSource == null || !TPMSettingsFoldout || HideSettingsFoldout)
return;
Gizmos.color = GizmoColor;
Gizmos.DrawSphere(TransformSource.position + (Vector3.up * PositionModifier), GizmoRadius);
}
}
}