Repository URL to install this package:
|
Version:
1.3.2 ▾
|
using Fluctio.FluctioSim.Core.Components.Base;
using Fluctio.FluctioSim.Utils.General;
using Unity.MLAgents.Sensors;
using UnityEngine;
namespace Fluctio.FluctioSim.Core.Components.MachineLearning.Sensors
{
public abstract class Sensor : InternalsEditorComponent
{
public abstract int ObservationSize { get; }
public abstract void CollectObservations(VectorSensor sensor);
[SerializeField, HideInInspector] protected GameObject sensorObject;
[SerializeField, HideInInspector] protected ProxyMlSensorComponent mlagentsSensor;
[field: SerializeField, Tooltip("Used for deterministic sorting and for identifying")] public string SensorName { get; private set; }
[field:SerializeField, Min(1)] public int StackedSize { get; set; } = 1;
protected override void InitializeOnce()
{
sensorObject = CreateInternalObject("Sensor");
mlagentsSensor = CreateInternalComponent<ProxyMlSensorComponent>(sensorObject);
mlagentsSensor.originalSensor = this;
}
public override void InitializePrefab()
{
if (SensorName == "")
{
SensorName = NameGenerator.GenerateName();
}
}
}
}