28 lines
925 B
C#
28 lines
925 B
C#
using UnityEngine;
|
||
|
||
namespace BaseGames.Enemies
|
||
{
|
||
/// <summary>
|
||
/// BatchLOSSystem 的注册接口(架构 07_EnemyModule §12)。
|
||
/// 实现此接口的 EnemyBase 子类可以注册到 BatchLOSSystem,
|
||
/// 以批处理方式接收 LOS(Line of Sight)检测结果。
|
||
/// </summary>
|
||
public interface ILOSRequester
|
||
{
|
||
/// <summary>射线起点(通常是眼部位置)。</summary>
|
||
Vector2 LOSOrigin { get; }
|
||
|
||
/// <summary>射线终点(通常是玩家位置)。</summary>
|
||
Vector2 LOSTarget { get; }
|
||
|
||
/// <summary>遮挡 LOS 的物理图层。</summary>
|
||
LayerMask LOSBlockingMask { get; }
|
||
|
||
/// <summary>
|
||
/// 接收 LOS 检测结果。
|
||
/// <paramref name="hasLineOfSight"/>: true = 有视线,false = 被遮挡。
|
||
/// </summary>
|
||
void ReceiveLOSResult(bool hasLineOfSight);
|
||
}
|
||
}
|