This commit is contained in:
2026-07-09 21:33:33 +02:00
commit 84a2a365f3
2364 changed files with 950134 additions and 0 deletions
@@ -0,0 +1,39 @@
using UnityEngine;
using VOID.Generic.Objects.Abstract;
using VOID.Generic.Objects.Unit.Events;
using VOID.Generic.Triggers;
namespace VOID.Generic.Objects.Unit.AI
{
public class UnitHear : MonoBehaviour, IDynamicTrigger
{
private UnitObject _forUnit;
public static void Create(UnitObject forUnit)
{
var sightGameObject = new GameObject("_hear");
sightGameObject.transform.parent = forUnit.transform;
sightGameObject.transform.position = forUnit.transform.position;
sightGameObject.layer = LayerManager.TriggerIndex;
var sightCollider = sightGameObject.AddComponent<SphereCollider>();
sightCollider.radius = forUnit.unitData.subAttributes.hear;
sightCollider.includeLayers = LayerManager.Dynamic;
var unitSight = sightGameObject.AddComponent<UnitHear>();
unitSight._forUnit = forUnit;
}
public void OnObjectEnter(AbstractObject obj)
{
if (_forUnit == obj) return;
_forUnit.unitEvents.onHearEnter.Invoke(new SenseHearEvent { unit = _forUnit, hearObject = obj });
}
public void OnObjectExit(AbstractObject obj)
{
if (_forUnit == obj) return;
_forUnit.unitEvents.onHearExit.Invoke(new SenseHearEvent { unit = _forUnit, hearObject = obj });
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 903309e0ff5e487e9da6374dcc24e2d0
timeCreated: 1709328408
@@ -0,0 +1,39 @@
using UnityEngine;
using VOID.Generic.Objects.Abstract;
using VOID.Generic.Objects.Unit.Events;
using VOID.Generic.Triggers;
namespace VOID.Generic.Objects.Unit.AI
{
public class UnitSight : MonoBehaviour, IDynamicTrigger
{
private UnitObject _forUnit;
public static void Create(UnitObject forUnit)
{
var sightGameObject = new GameObject("_sight");
sightGameObject.transform.parent = forUnit.transform;
sightGameObject.transform.position = forUnit.transform.position;
sightGameObject.layer = LayerManager.TriggerIndex;
var sightCollider = sightGameObject.AddComponent<SphereCollider>();
sightCollider.radius = forUnit.unitData.subAttributes.sight;
sightCollider.includeLayers = LayerManager.Dynamic;
var unitSight = sightGameObject.AddComponent<UnitSight>();
unitSight._forUnit = forUnit;
}
public void OnObjectEnter(AbstractObject obj)
{
if (_forUnit == obj) return;
_forUnit.unitEvents.onSightEnter.Invoke(new SenseSightEvent { unit = _forUnit, sightObject = obj });
}
public void OnObjectExit(AbstractObject obj)
{
if (_forUnit == obj) return;
_forUnit.unitEvents.onSightExit.Invoke(new SenseSightEvent { unit = _forUnit, sightObject = obj });
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: fb4f8bb991544bfc927453452e661522
timeCreated: 1709323766