This commit is contained in:
CortexCore
2024-04-22 03:48:37 +08:00
parent 0362b2c606
commit c1f51826b3
35 changed files with 556 additions and 270 deletions

View File

@@ -10,6 +10,7 @@ using UnityEngine.Pool;
namespace BITKit.Sensors
{
public struct ClassicNoise{}
public class AudioSensorService : MonoBehaviour
{
public class AudioSensorData:IItem<AudioSensorData,Node<AudioSensorData>>
@@ -20,6 +21,7 @@ namespace BITKit.Sensors
public Transform Transform;
public Bounds Bounds;
public ITag Tag;
public object NoiseType;
public Bounds GetBounds() => Bounds;
public Node<AudioSensorData> ParentNode { get; set; }
public void QuadTree_Root_Initialized(IQuadtreeRoot<AudioSensorData, Node<AudioSensorData>> root){}
@@ -29,20 +31,25 @@ namespace BITKit.Sensors
private static Pool<AudioSensorData> pool = new(()=>new(), x=>{}, 1000);
private static int count;
public static async void MakeNoise(Vector3 position,Transform transform)
public static async void MakeNoise(Vector3 position, Transform transform, float radius = 1,
object noiseType = null)
{
var data = pool.Take();
data.Id = count++;
data.Position = position;
data.Transform = transform;
data.Bounds = new Bounds(position, Vector3.one *1);
data.Tag = transform.GetComponent<ITag>();
data.Bounds = new Bounds(position, Vector3.one * 1);
if (transform)
data.Tag = transform.GetComponent<ITag>();
data.Radius = radius;
QuadtreeRoot.Insert(data);
await UniTask.Delay(3000);
if (disposed) return;
QuadtreeRoot.Remove(data);
pool.Return(data);
}
private static bool disposed;
[SerializeReference, SubclassSelector] private ITicker ticker;
private void Start()