using Content.Server.AI.WorldState;
using Content.Server.AI.WorldState.States;
using Content.Server.GameObjects.Components;
using Content.Server.GameObjects.Components.GUI;
namespace Content.Server.AI.Utility.Considerations.Hands
{
///
/// Returns 1 if in our hands else 0
///
public sealed class TargetInOurHandsCon : Consideration
{
protected override float GetScore(Blackboard context)
{
var owner = context.GetState().GetValue();
var target = context.GetState().GetValue();
if (target == null ||
!target.HasComponent() ||
!owner.TryGetComponent(out HandsComponent handsComponent))
{
return 0.0f;
}
return handsComponent.IsHolding(target) ? 1.0f : 0.0f;
}
}
}