rokojori_action_library/Runtime/Actions/Node3D/LookAt.cs

31 lines
582 B
C#
Raw Normal View History

2024-08-04 09:08:12 +00:00
using Godot;
2026-05-22 12:25:02 +00:00
using Rokojori.Extensions;
2024-08-04 09:08:12 +00:00
namespace Rokojori
{
[GlobalClass, Tool ]
2025-01-08 18:46:17 +00:00
public partial class LookAt : Action
2024-08-04 09:08:12 +00:00
{
[Export]
2025-01-18 12:49:14 +00:00
public Node3D lookFrom;
2024-08-04 09:08:12 +00:00
[Export]
2025-01-18 12:49:14 +00:00
public Node3D lookTarget;
2026-10-06 18:50:28 +00:00
[Export]
public bool useModelFront = false;
2024-08-04 09:08:12 +00:00
2025-01-08 18:46:17 +00:00
protected override void _OnTrigger()
2024-08-04 09:08:12 +00:00
{
if ( lookFrom == null || lookTarget == null ||
! IsInstanceValid( lookFrom ) || ! IsInstanceValid( lookTarget )
)
2024-08-04 09:08:12 +00:00
{
return;
}
2026-10-06 18:50:28 +00:00
lookFrom.LookAt( lookTarget.GlobalPosition, Vector3.Up, useModelFront );
2024-08-04 09:08:12 +00:00
}
}
}