28 lines
578 B
C#
28 lines
578 B
C#
using Godot;
|
|
|
|
public partial class CaptureController : Node
|
|
{
|
|
[Export] public NodePath CaptureUIPath { get; set; }
|
|
|
|
private GameRoot _root = null!;
|
|
private CaptureUI? _ui;
|
|
|
|
public override void _Ready()
|
|
{
|
|
_ui = GetNodeOrNull<CaptureUI>(CaptureUIPath);
|
|
if (_ui == null)
|
|
{
|
|
GD.PrintErr("CaptureController: CaptureUIPath not set.");
|
|
return;
|
|
}
|
|
|
|
GameRoot.Instance.CaptureRequested += OnRequestCapture;
|
|
}
|
|
|
|
private void OnRequestCapture(Creature creature)
|
|
{
|
|
if (_ui == null) return;
|
|
if (!IsInstanceValid(creature)) return;
|
|
_ui.StartCapture(creature);
|
|
}
|
|
}
|