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

35 lines
1.2 KiB
C#

using Unity.Mathematics;
namespace DanieleMarotta.RiversongCodeShowcase
{
public interface IAgentCommonLogic
{
bool MoveAgent(Agent agent, float3 targetPosition, float dt);
bool UpdateHeading(Agent agent, in float3 targetHeading, float dt);
bool TryFetchProductFromStorage(AgentDefinition agentDefinition,
Building source,
int productHandle,
int neededAmount,
int maxAgentCount = int.MaxValue,
AgentJob job = AgentJob.None);
bool TryFetchProductFromProvider(AgentDefinition agentDefinition,
Building source,
int productHandle,
int neededAmount,
int maxAgentCount = int.MaxValue,
AgentJob job = AgentJob.None);
bool TryFetchProduct(AgentDefinition agentDefinition,
Building source,
Building fetchBuilding,
int productHandle,
int amount,
int maxAgentCount = int.MaxValue,
AgentJob job = AgentJob.None);
bool TryDeliverProduct(AgentDefinition agentDefinition, Building source, int productHandle, int maxAgentCount = int.MaxValue, AgentJob job = AgentJob.None);
}
}