blob: 179d8511d191c806deb1791320c340b55a1dd499 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
using System;
using UnityEngine;
namespace Assets.AbstractWiresEffect.Scripts
{
internal sealed class CollisionDetector : MonoBehaviour
{
public float CollisionDistance;
private Transform _transform;
public event Action<Vector3> CollisionDetected;
private void Start()
{
_transform = transform;
}
private void FixedUpdate()
{
RaycastHit hit;
if (!Physics.Raycast(_transform.position, -transform.up, out hit, CollisionDistance))
return;
var distance = Vector3.Distance(_transform.position, hit.point);
if (distance > CollisionDistance)
return;
if (CollisionDetected != null)
CollisionDetected.Invoke(hit.point);
}
}
}
|