/// <summary>
 /// Clean up the sensor created by CreateSensors().
 /// </summary>
 public void Dispose()
 {
     if (!ReferenceEquals(null, m_Sensor))
     {
         m_Sensor.Dispose();
         m_Sensor = null;
     }
 }
 /// <inheritdoc/>
 public override ISensor CreateSensor()
 {
     m_Sensor = new RenderTextureSensor(RenderTexture, Grayscale, SensorName, m_Compression);
     if (ObservationStacks != 1)
     {
         return(new StackingSensor(m_Sensor, ObservationStacks));
     }
     return(m_Sensor);
 }
 /// <inheritdoc/>
 public override ISensor[] CreateSensors()
 {
     Dispose();
     m_Sensor = new RenderTextureSensor(RenderTexture, Grayscale, SensorName, m_Compression);
     if (ObservationStacks != 1)
     {
         return(new ISensor[] { new StackingSensor(m_Sensor, ObservationStacks) });
     }
     return(new ISensor[] { m_Sensor });
 }
 /// <inheritdoc/>
 public override ISensor CreateSensor()
 {
     m_Sensor = new RenderTextureSensor(RenderTexture, Grayscale, SensorName, m_Compression);
     return(m_Sensor);
 }