using System;
using UnityEngine;
namespace MLAgents
{
public enum SpaceType
{
Discrete,
Continuous
}
///
/// Holds information about the Brain. It defines what are the inputs and outputs of the
/// decision process.
///
[Serializable]
public class BrainParameters
{
///
/// If continuous : The length of the float vector that represents
/// the state
/// If discrete : The number of possible values the state can take
///
public int vectorObservationSize = 1;
[Range(1, 50)] public int numStackedVectorObservations = 1;
///
/// If continuous : The length of the float vector that represents
/// the action
/// If discrete : The number of possible values the action can take*/
///
public int[] vectorActionSize = new[] {1};
/// The list of strings describing what the actions correpond to */
public string[] vectorActionDescriptions;
/// Defines if the action is discrete or continuous
public SpaceType vectorActionSpaceType = SpaceType.Discrete;
///
/// Deep clones the BrainParameter object
///
/// A new BrainParameter object with the same values as the original.
public BrainParameters Clone()
{
return new BrainParameters
{
vectorObservationSize = vectorObservationSize,
numStackedVectorObservations = numStackedVectorObservations,
vectorActionSize = (int[])vectorActionSize.Clone(),
vectorActionDescriptions = (string[])vectorActionDescriptions.Clone(),
vectorActionSpaceType = vectorActionSpaceType
};
}
}
}