Agent sighting events
Now that we can detect when another agent is visible, we can create specific messages about an agent sighting, a dead enemy, or even a dead friend that can be sent to teammates. By extending our EventType
table, we can create the three new event types for which we'll be sending out events:
AgentCommunications.lua AgentCommunications.EventType.DeadEnemySighted = "DeadEnemySighted"; AgentCommunications.EventType.DeadFriendlySighted = "DeadFriendlySighted"; AgentCommunications.EventType.EnemySighted = "EnemySighted";
New enemy sighted event
To send out a new enemy sighted event, we can create a wrapper that handles all the event-specific information such as the sighted agent, where it was sighted, as well as the time at which it was sighted. The last information about when they were sighted will come in handy when dealing with stale information:
AgentSenses.lua
:
function SendNewEnemyEvent( sandbox, agent, enemy, seenAt, lastSeen) local event = { agent...