17 lines
829 B
C#
17 lines
829 B
C#
using GameCore.AI;
|
|
using Godot;
|
|
|
|
namespace CryptonymThunder.Code.Resources;
|
|
|
|
[GlobalClass]
|
|
public partial class AIComponentResource : Resource
|
|
{
|
|
[Export] public AIState InitialState { get; set; } = AIState.Idle;
|
|
|
|
[ExportGroup("Personality")]
|
|
[Export(PropertyHint.Range, "1.0, 100.0, 0.1")] public float SightRange { get; set; } = 20f;
|
|
[Export(PropertyHint.Range, "1.0, 180.0, 0.1")] public float FieldOfView { get; set; } = 90f; // In degrees
|
|
[Export(PropertyHint.Range, "0.1, 100.0, 0.1")] public float AttackRange { get; set; } = 10f;
|
|
[Export(PropertyHint.Range, "0.0, 30.0, 0.1")] public float ChaseGiveUpTime { get; set; } = 5.0f; // Time to chase after losing sight
|
|
[Export(PropertyHint.Range, "0.0, 5.0, 0.05")] public float ReactionTime { get; set; } = 0.5f; // Delay before seeing player
|
|
} |