mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
31 lines
803 B
Plaintext
31 lines
803 B
Plaintext
/*
|
|
* Author: jaynus
|
|
* Returns whether the target position is within the maximum angle FOV of the provided seeker
|
|
* objects current direction.
|
|
*
|
|
* Argument:
|
|
* 0: Seeker [Object]
|
|
* 1: Target [Position]
|
|
* 2: Max Angle [Degrees]
|
|
*
|
|
* Return value:
|
|
* Boolean
|
|
*/
|
|
|
|
#include "script_component.hpp"
|
|
private["_seeker", "_targetPos", "_seekerMaxAngle", "_sensorPos", "_testPointVector", "_testDotProduct"];
|
|
|
|
_seeker = _this select 0;
|
|
_targetPos = _this select 1;
|
|
_seekerMaxAngle = _this select 2;
|
|
|
|
_sensorPos = getPosASL _seeker;
|
|
|
|
_testPointVector = vectorNormalized (_targetPos vectorDiff _sensorPos);
|
|
_testDotProduct = (vectorNormalized (velocity _seeker)) vectorDotProduct _testPointVector;
|
|
|
|
if(_testDotProduct < (cos _seekerMaxAngle) exitWith {
|
|
false
|
|
};
|
|
|
|
true |