Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
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();	
			}
		}
	}
}