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