25 lines
792 B
C#
25 lines
792 B
C#
|
using UnityEngine;
|
||
|
|
||
|
namespace Syntriax.Modules.Movement.ColliderCheck
|
||
|
{
|
||
|
public class TwoDimensionalBoxChildColliderCheck : MonoBehaviour, IColliderCheck, IState
|
||
|
{
|
||
|
[SerializeField] private LayerMask colliderMask = 0;
|
||
|
|
||
|
public LayerMask ColliderMask { get => colliderMask; set => colliderMask = value; }
|
||
|
|
||
|
public bool IsColliderDetected
|
||
|
=> StateEnabled ? Physics2D.OverlapBox(transform.position, transform.localScale, 0, ColliderMask) != null : true;
|
||
|
|
||
|
public bool StateEnabled { get; set; } = true;
|
||
|
|
||
|
#if UNITY_EDITOR
|
||
|
private void OnDrawGizmosSelected()
|
||
|
{
|
||
|
Gizmos.color = IsColliderDetected ? Color.green : Color.red;
|
||
|
Gizmos.DrawWireCube(transform.position, transform.lossyScale);
|
||
|
}
|
||
|
#endif
|
||
|
}
|
||
|
}
|