using System;
using UnityEngine;
namespace Unity.MLAgents.Actuators
{
///
/// Editor components for creating Actuators. Generally an IActuator component should
/// have a corresponding ActuatorComponent.
///
public abstract class ActuatorComponent : MonoBehaviour
{
///
/// Create the IActuator. This is called by the Agent when it is initialized.
///
/// Created IActuator object.
[Obsolete("Use CreateActuators instead.")]
public abstract IActuator CreateActuator();
///
/// Create a collection of s. This is called by the during
/// initialization.
///
/// A collection of s
public virtual IActuator[] CreateActuators()
{
#pragma warning disable 618
return new[] { CreateActuator() };
#pragma warning restore 618
}
///
/// The specification of the possible actions for this ActuatorComponent.
/// This must produce the same results as the corresponding IActuator's ActionSpec.
///
///
public abstract ActionSpec ActionSpec { get; }
}
}