using Content.Shared.BodySystem;
using Robust.Shared.Interfaces.GameObjects;
using System;
using System.Collections.Generic;
namespace Content.Server.BodySystem
{
///
/// Interface representing an entity capable of performing surgery (performing operations on an class).
/// For an example see , which inherits from this class.
///
public interface ISurgeon
{
///
/// How long it takes to perform a single surgery step (in seconds).
///
public float BaseOperationTime { get; set; }
public delegate void MechanismRequestCallback(Mechanism target, IBodyPartContainer container, ISurgeon surgeon, IEntity performer);
///
/// When performing a surgery, the may sometimes require selecting from a set of Mechanisms to operate on.
/// This function is called in that scenario, and it is expected that you call the callback with one mechanism from the provided list.
///
public void RequestMechanism(List options, MechanismRequestCallback callback);
}
}