Files
2026-05-21 16:04:49 +02:00

65 lines
1.5 KiB
C#

using System;
using Unity.Mathematics;
namespace DanieleMarotta.RiversongCodeShowcase
{
public class Agent : Entity, IDisposable
{
private IntentQueue _intentQueue;
private TilePath _path;
private AgentJobState _agentJobState;
private CritterState _critterState;
public int CarriedProductHandle;
public AgentDefinition Definition { get; set; }
public int HomeId { get; set; }
public float3 Position { get; set; }
public float3 Heading { get; set; }
public float3 Velocity { get; set; }
public AgentLifecycleState LifecycleState { get; set; } = AgentLifecycleState.New;
public IntentExecutionState IntentExecutionState { get; set; } = IntentExecutionState.WaitingIntent;
public float IntentExecutionTime { get; set; }
public int PathQueryHandle { get; set; }
public int PathIndex { get; set; }
public int2 WanderingCenter { get; set; }
public ref IntentQueue GetIntentQueueRW()
{
return ref _intentQueue;
}
public ref TilePath GetPathRW()
{
return ref _path;
}
public ref AgentJobState GetJobStateRW()
{
return ref _agentJobState;
}
public ref CritterState GetCritterStateRW()
{
return ref _critterState;
}
public void Dispose()
{
_path.Dispose();
}
}
}