using Convai.Domain.Embodiment.Interfaces;
using Convai.Domain.Embodiment.Readings;
using UnityEngine;
public class EquipmentFocusProvider : MonoBehaviour, IFocusTargetProvider
{
[SerializeField] private Transform _equipmentTransform;
[SerializeField] private float _relevanceWhenActive = 0.9f;
private bool _isActive;
public int Priority => 20; // 高于默认相机提供器(0)
public bool TryGetCandidate(Transform characterRoot, out AttentionCandidate candidate)
{
if (!_isActive || _equipmentTransform == null)
{
candidate = default;
return false;
}
candidate = new AttentionCandidate(
priority: Priority,
relevance: _relevanceWhenActive,
target: _equipmentTransform,
worldPoint: _equipmentTransform.position,
debugName: "医疗设备"
);
return true;
}
public void SetActive(bool active) => _isActive = active;
}