mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Pass function by reference to Draw3D EH (#7333)
This commit is contained in:
parent
53c53bbdbc
commit
085ebd89db
@ -19,6 +19,6 @@ class Extended_PostInit_EventHandlers {
|
|||||||
|
|
||||||
class Extended_DisplayLoad_EventHandlers {
|
class Extended_DisplayLoad_EventHandlers {
|
||||||
class RscDisplayCurator {
|
class RscDisplayCurator {
|
||||||
ADDON = QUOTE(call FUNC(drawCuratorGarrisonPathing));
|
ADDON = QUOTE(call FUNC(initDisplayCurator));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
PREP(drawCuratorGarrisonPathing);
|
PREP(drawCuratorGarrisonPathing);
|
||||||
PREP(garrison);
|
PREP(garrison);
|
||||||
PREP(unGarrison);
|
|
||||||
PREP(garrisonMove);
|
PREP(garrisonMove);
|
||||||
|
PREP(initDisplayCurator);
|
||||||
|
PREP(unGarrison);
|
||||||
|
@ -1,54 +1,56 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: alganthe
|
* Author: alganthe
|
||||||
* Add draw3D eh to the curator interface.
|
* Draws AI garrison pathing while the Zeus display is open.
|
||||||
*
|
*
|
||||||
* Arguments:
|
* Arguments:
|
||||||
* None
|
* None
|
||||||
*
|
*
|
||||||
* Return value:
|
* Return Value:
|
||||||
* None
|
* None
|
||||||
*
|
*
|
||||||
|
* Example:
|
||||||
|
* [] call ace_ai_fnc_drawCuratorGarrisonPathing
|
||||||
|
*
|
||||||
* Public: No
|
* Public: No
|
||||||
*/
|
*/
|
||||||
|
|
||||||
addMissionEventHandler ["Draw3D", {
|
if (isNull findDisplay 312) exitWith {
|
||||||
if (findDisplay 312 isEqualTo displayNull) exitWith {
|
removeMissionEventHandler ["Draw3D", _thisEventHandler];
|
||||||
removeMissionEventHandler ["Draw3D", _thisEventHandler];
|
};
|
||||||
};
|
|
||||||
|
|
||||||
private _unitMoveList = missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []];
|
private _unitMoveList = missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []];
|
||||||
{
|
|
||||||
_x params ["_unit", "_pos"];
|
|
||||||
|
|
||||||
switch (true) do {
|
{
|
||||||
case (surfaceIsWater (getPos _unit) && {surfaceIsWater _pos}) : {
|
_x params ["_unit", "_pos"];
|
||||||
for "_i" from 0 to 3 do {
|
|
||||||
drawLine3D [_unit modelToWorldVisualWorld [0,0,1], (AGLtoASL _pos), [1,0,0,1]];
|
switch (true) do {
|
||||||
};
|
case (surfaceIsWater (getPos _unit) && {surfaceIsWater _pos}) : {
|
||||||
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], (AGLtoASL _pos), 0.75, 0.75, 0.75];
|
for "_i" from 0 to 3 do {
|
||||||
};
|
drawLine3D [_unit modelToWorldVisualWorld [0,0,1], (AGLtoASL _pos), [1,0,0,1]];
|
||||||
|
|
||||||
case (!surfaceIsWater (getPos _unit) && {!surfaceIsWater _pos}) : {
|
|
||||||
for "_i" from 0 to 3 do {
|
|
||||||
drawLine3D [_unit modelToWorldVisual [0,0,1], _pos, [1,0,0,1]];
|
|
||||||
};
|
|
||||||
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], _pos, 0.75, 0.75, 0.75];
|
|
||||||
};
|
|
||||||
|
|
||||||
case (!surfaceIsWater (getPos _unit) && {surfaceIsWater _pos}) : {
|
|
||||||
for "_i" from 0 to 3 do {
|
|
||||||
drawLine3D [_unit modelToWorldVisual [0,0,1], (AGLToASL _pos), [1,0,0,1]];
|
|
||||||
};
|
|
||||||
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], (AGLtoASL _pos), 0.75, 0.75, 0.75];
|
|
||||||
};
|
|
||||||
|
|
||||||
case (surfaceIsWater (getPos _unit) && {!surfaceIsWater _pos}) : {
|
|
||||||
for "_i" from 0 to 3 do {
|
|
||||||
drawLine3D [_unit modelToWorldVisualWorld [0,0,1], _pos, [1,0,0,1]];
|
|
||||||
};
|
|
||||||
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], _pos, 0.75, 0.75, 0.75];
|
|
||||||
};
|
};
|
||||||
|
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], (AGLtoASL _pos), 0.75, 0.75, 0.75];
|
||||||
};
|
};
|
||||||
} forEach _unitMoveList;
|
|
||||||
}];
|
case (!surfaceIsWater (getPos _unit) && {!surfaceIsWater _pos}) : {
|
||||||
|
for "_i" from 0 to 3 do {
|
||||||
|
drawLine3D [_unit modelToWorldVisual [0,0,1], _pos, [1,0,0,1]];
|
||||||
|
};
|
||||||
|
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], _pos, 0.75, 0.75, 0.75];
|
||||||
|
};
|
||||||
|
|
||||||
|
case (!surfaceIsWater (getPos _unit) && {surfaceIsWater _pos}) : {
|
||||||
|
for "_i" from 0 to 3 do {
|
||||||
|
drawLine3D [_unit modelToWorldVisual [0,0,1], (AGLToASL _pos), [1,0,0,1]];
|
||||||
|
};
|
||||||
|
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], (AGLtoASL _pos), 0.75, 0.75, 0.75];
|
||||||
|
};
|
||||||
|
|
||||||
|
case (surfaceIsWater (getPos _unit) && {!surfaceIsWater _pos}) : {
|
||||||
|
for "_i" from 0 to 3 do {
|
||||||
|
drawLine3D [_unit modelToWorldVisualWorld [0,0,1], _pos, [1,0,0,1]];
|
||||||
|
};
|
||||||
|
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], _pos, 0.75, 0.75, 0.75];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} forEach _unitMoveList;
|
||||||
|
18
addons/ai/functions/fnc_initDisplayCurator.sqf
Normal file
18
addons/ai/functions/fnc_initDisplayCurator.sqf
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#include "script_component.hpp"
|
||||||
|
/*
|
||||||
|
* Author: mharis001
|
||||||
|
* Initializes the Zeus display.
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* None
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* None
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* [] call ace_ai_fnc_initDisplayCurator
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
|
||||||
|
addMissionEventHandler ["Draw3D", {call FUNC(drawCuratorGarrisonPathing)}];
|
Loading…
Reference in New Issue
Block a user