using System;
using UnityEngine;
namespace MLAgents.Sensor
{
///
/// Editor components for creating Sensors. Generally an ISensor implementation should have a corresponding
/// SensorComponent to create it.
///
public abstract class SensorComponent : MonoBehaviour
{
///
/// Create the ISensor. This is called by the Agent when it is initialized.
///
///
public abstract ISensor CreateSensor();
///
/// Returns the shape of the sensor observations that will be created.
///
///
public abstract int[] GetObservationShape();
public virtual bool IsVisual()
{
var shape = GetObservationShape();
return shape.Length == 3;
}
public virtual bool IsVector()
{
var shape = GetObservationShape();
return shape.Length == 1;
}
}
}