ocker/scripts/core/CaptureController.cs

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);
}
}