35 lines
1.2 KiB
C#
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);
|
|
}
|
|
} |