using System; using UnityEngine; namespace Unity.MLAgents { public partial class Agent { /// /// Deprecated, use instead. /// /// public virtual void CollectDiscreteActionMasks(DiscreteActionMasker actionMasker) { } /// /// Deprecated, use instead. /// /// public virtual void Heuristic(float[] actionsOut) { Debug.LogWarning("Heuristic method called but not implemented. Returning placeholder actions."); Array.Clear(actionsOut, 0, actionsOut.Length); } /// /// Deprecated, use instead. /// /// public virtual void OnActionReceived(float[] vectorAction) { } /// /// Returns the last action that was decided on by the Agent. /// /// /// The last action that was decided by the Agent (or null if no decision has been made). /// /// // [Obsolete("GetAction has been deprecated, please use GetStoredActionBuffers, Or GetStoredDiscreteActions.")] public float[] GetAction() { var storedAction = m_Info.storedVectorActions; if (!storedAction.ContinuousActions.IsEmpty()) { return storedAction.ContinuousActions.Array; } else { return Array.ConvertAll(storedAction.DiscreteActions.Array, x => (float)x); } } } }