namespace Unity.MLAgents.Sensors
{
///
/// Identifiers for "built in" sensor types.
/// These are only used for analytics, and should not be used for any runtime decisions.
///
/// NOTE: Do not renumber these, since the values are used for analytics. Renaming is allowed though.
///
public enum BuiltInSensorType
{
///
/// Default Sensor type if it cannot be determined.
///
Unknown = 0,
///
/// The Vector sensor used by the agent.
///
VectorSensor = 1,
///
/// The Stacking Sensor type. NOTE: StackingSensor actually returns the wrapped sensor's type.
///
StackingSensor = 2,
///
/// The RayPerception Sensor types, both 3D and 2D.
///
RayPerceptionSensor = 3,
///
/// The observable attribute sensor type.
///
ReflectionSensor = 4,
///
/// Sensors that use the Camera for observations.
///
CameraSensor = 5,
///
/// Sensors that use RenderTextures for observations.
///
RenderTextureSensor = 6,
///
/// Sensors that use buffers or tensors for observations.
///
BufferSensor = 7,
///
/// The sensors that observe properties of rigid bodies.
///
PhysicsBodySensor = 8,
///
/// The sensors that observe Match 3 boards.
///
Match3Sensor = 9,
///
/// Sensors that break down the world into a grid of colliders to observe an area at a pre-defined granularity.
///
GridSensor = 10
}
///
/// Interface for sensors that are provided as part of ML-Agents.
/// User-implemented sensors don't need to use this interface.
///
public interface IBuiltInSensor
{
///
/// Return the corresponding BuiltInSensorType for the sensor.
///
/// A BuiltInSensorType corresponding to the sensor.
BuiltInSensorType GetBuiltInSensorType();
}
}