mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
b489750d5b
* Optimizations with private, params, and isEqualType * Fixed tab being used instead of space * Fixed tabs inserted by notepad++ * More usage of new private syntax and params - changed a few checks for an array being empty to `_arr isEqualTo []` rather than `count _arr == 0` - added more uses of `private` on the same line as the variable is declared - added more uses of params to assign variables passed as parameters - removed unnecessary parentheses - removed several unnecessary variable declarations with private array syntax * clean up and formatting
31 lines
776 B
Plaintext
31 lines
776 B
Plaintext
/*
|
|
* Author: jaynus
|
|
* Returns whether the target position is within the maximum angle FOV of the provided seeker
|
|
* objects current direction.
|
|
*
|
|
* Arguments:
|
|
* 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 |