|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
namespace Unity.MLAgents
|
|
|
|
{
|
|
|
|
public class SensorBehavior : MonoBehaviour
|
|
|
|
{
|
|
|
|
MarathonAgent _marathonAgent;
|
|
|
|
IOnSensorCollision _onSensorCollision;
|
|
|
|
|
|
|
|
Collider _collider;
|
|
|
|
|
|
|
|
void Start()
|
|
|
|
{
|
|
|
|
_marathonAgent = GetComponentInParent<MarathonAgent>();
|
|
|
|
_onSensorCollision = GetComponentInParent<IOnSensorCollision>();
|
|
|
|
_collider = GetComponent<Collider>();
|
|
|
|
}
|
|
|
|
|
|
|
|
void OnCollisionEnter(Collision other)
|
|
|
|
{
|
|
|
|
if (_marathonAgent != null)
|
|
|
|
_marathonAgent.SensorCollisionEnter(_collider, other);
|
|
|
|
if (_onSensorCollision != null)
|
|
|
|
{
|
|
|
|
_onSensorCollision.OnSensorCollisionEnter(_collider, other.gameObject);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void OnCollisionExit(Collision other)
|
|
|
|
{
|
|
|
|
if (_marathonAgent != null)
|
|
|
|
_marathonAgent.SensorCollisionExit(_collider, other);
|
|
|
|
if (_onSensorCollision != null)
|
|
|
|
_onSensorCollision.OnSensorCollisionExit(_collider, other.gameObject);
|
|
|
|
}
|
|
|
|
|
|
|
|
void OnTriggerEnter(Collider other)
|
|
|
|
{
|
|
|
|
if (_onSensorCollision != null)
|
|
|
|
{
|
|
|
|
_onSensorCollision.OnSensorCollisionEnter(_collider, other.gameObject);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
void OnTriggerExit(Collider other)
|
|
|
|
{
|
|
|
|
if (_onSensorCollision != null)
|
|
|
|
_onSensorCollision.OnSensorCollisionExit(_collider, other.gameObject);
|
|
|
|
}
|
|
|
|
void OnTriggerStay(Collider other)
|
|
|
|
{
|
|
|
|
if (_onSensorCollision != null)
|
|
|
|
_onSensorCollision.OnSensorCollisionEnter(_collider, other.gameObject);
|
|
|
|
}
|
|
|
|
|
|
|
|
void FootCheck(Collision sensor)
|
|
|
|
{
|
|
|
|
Debug.Log($"{sensor}");
|
|
|
|
if (sensor.gameObject.name == "right_foot_heal_senor_l" || sensor.gameObject.name == "left_foot_heal_senor_l")
|
|
|
|
{
|
|
|
|
float collision = sensor.relativeVelocity.magnitude;
|
|
|
|
Debug.Log($"{collision}");
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|