
+ IAiView 변경 + INormalAttack 인터페이스 추가 + FieldMinion, InIslandPlayer의 BehaviorTree 인터페이스로 통합 + 행동 트리 Target 검색, 추적 로직 변경
30 lines
1.0 KiB
C#
30 lines
1.0 KiB
C#
using UnityEngine;
|
|
using UnityEngine.AI;
|
|
|
|
// ReSharper disable once CheckNamespace
|
|
namespace BlueWaterProject
|
|
{
|
|
public interface IAiView
|
|
{
|
|
NavMeshAgent Agent { get; set; }
|
|
float ViewRadius { get; set; }
|
|
float AtkRange { get; set; }
|
|
Vector3 DefensePos { get; set; }
|
|
bool IsRandomMove { get; set; }
|
|
float RandomMoveRange { get; set; }
|
|
Collider[] Targets { get; set; }
|
|
Collider Target { get; set; }
|
|
LayerMask TargetLayer { get; set; }
|
|
|
|
/// <summary>
|
|
/// 가장 가까운 타겟을 찾아 Target에 적용
|
|
/// </summary>
|
|
/// <param name="targetIsTrigger">IsTrigger Collider를 대상으로 삼을지 확인</param>
|
|
public void FindNearestTargetInRange(bool targetIsTrigger = true);
|
|
public void SetTarget(Collider value);
|
|
public bool IsTargetWithinRange();
|
|
public bool GoOutOfBounds();
|
|
public void MoveTarget(Vector3 targetPos, ESpeedType speedType, float stopDistance);
|
|
}
|
|
}
|