23 lines
515 B
C#
23 lines
515 B
C#
using Godot;
|
|
|
|
public partial class GravityZone : Area3D
|
|
{
|
|
public Node3D Parent;
|
|
|
|
public override void _Ready()
|
|
{
|
|
Parent = GetParent<Node3D>();
|
|
}
|
|
|
|
public void OnBodyEntered(Node3D body)
|
|
{
|
|
GravityReceiver receiver = body.GetNodeOrNull<GravityReceiver>("GravityReceiver");
|
|
receiver?.EnterGravityZone(this, Parent.GetParent<Node3D>());
|
|
}
|
|
|
|
public void OnBodyExited(Node3D body)
|
|
{
|
|
GravityReceiver receiver = body.GetNodeOrNull<GravityReceiver>("GravityReceiver");
|
|
receiver?.ExitGravityZone(this);
|
|
}
|
|
}
|