2023-10-11 20:26:45 +00:00
|
|
|
using UnityEngine;
|
2023-10-16 07:27:29 +00:00
|
|
|
using UnityEngine.AI;
|
2023-10-11 20:26:45 +00:00
|
|
|
|
|
|
|
// ReSharper disable once CheckNamespace
|
|
|
|
namespace BlueWaterProject
|
|
|
|
{
|
2023-10-18 07:28:15 +00:00
|
|
|
public interface IAiView : IView
|
2023-10-11 20:26:45 +00:00
|
|
|
{
|
2023-10-18 07:28:15 +00:00
|
|
|
/// <summary>
|
|
|
|
/// NavMeshAgent 컴포넌트 사용
|
|
|
|
/// </summary>
|
2023-10-16 07:27:29 +00:00
|
|
|
NavMeshAgent Agent { get; set; }
|
2023-10-18 07:28:15 +00:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 자신의 콜라이더 컴포넌트 사용
|
|
|
|
/// </summary>
|
|
|
|
Collider MyCollider { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 지켜야 되는 중심 위치
|
|
|
|
/// </summary>
|
2023-10-16 07:27:29 +00:00
|
|
|
Vector3 DefensePos { get; set; }
|
2023-10-18 07:28:15 +00:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 이동속도
|
|
|
|
/// </summary>
|
|
|
|
float MoveSpd { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Idle 상태에서의 랜덤으로 움직일지 여부
|
|
|
|
/// </summary>
|
2023-10-16 07:27:29 +00:00
|
|
|
bool IsRandomMove { get; set; }
|
2023-10-18 07:28:15 +00:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 랜덤으로 움직일 거리
|
|
|
|
/// </summary>
|
2023-10-16 07:27:29 +00:00
|
|
|
float RandomMoveRange { get; set; }
|
2023-10-18 07:28:15 +00:00
|
|
|
|
2023-10-11 20:26:45 +00:00
|
|
|
/// <summary>
|
2023-10-18 07:28:15 +00:00
|
|
|
/// 특정 범위 밖을 나갔는지 확인 하는 함수
|
2023-10-11 20:26:45 +00:00
|
|
|
/// </summary>
|
2023-10-18 07:28:15 +00:00
|
|
|
/// <returns></returns>
|
2023-10-16 07:27:29 +00:00
|
|
|
public bool GoOutOfBounds();
|
2023-10-11 20:26:45 +00:00
|
|
|
}
|
|
|
|
}
|