Merge branch 'flashlight_housekeeping' of https://github.com/voiperr/ACE3 into voiperr-flashlight_housekeeping

This commit is contained in:
PabstMirror
2016-08-25 15:50:11 -05:00
20 changed files with 272 additions and 259 deletions

View File

@ -3,37 +3,44 @@
* Add or remove global flashlight glow for when player is looking at map.
*
* Arguments:
* 0: Flashlight classname ("" for off) <STRING>
* 0: Unit <OBJECT>
* 1: Flashlight classname ("" for off) <STRING>
* 2: Set the PVAR? <BOOL> (default: true)
*
* Return Value:
* None
* Glow object <OBJECT>
*
* Example:
* ["ACE_Flashlight_MX991"] call ace_map_fnc_flashlightGlow;
* [ACE_player, "ACE_Flashlight_MX991"] call ace_map_fnc_flashlightGlow;
*
* Public: No
*/
#include "script_component.hpp"
private ["_light", "_color", "_class"];
params ["_flashlight"];
params ["_unit", "_flashlightType", ["_set", true]];
_light = GVAR(glow);
if (!isNull _light) then {
detach _light;
deleteVehicle _light;
private _unitLight = _unit getVariable [QGVAR(flashlight), ["", objNull]];
_unitLight params ["_flashlight", "_glow"];
if (!isNull _glow) then {
detach _glow;
deleteVehicle _glow;
};
if (_flashlight != "") then {
_color = getText (configFile >> "CfgWeapons" >> _flashlight >> "ItemInfo" >> "FlashLight" >> "ACE_Flashlight_Colour");
if !(_color in ["white", "red", "green", "blue", "yellow"]) then {_color = "white"};
_class = format["ACE_FlashlightProxy_%1", _color];
if !(_flashlightType isEqualTo "") then {
private _color = getText (configFile >> "CfgWeapons" >> _flashlightType >> "ItemInfo" >> "FlashLight" >> "ACE_Flashlight_Colour");
if !(_color in ["white", "red", "green", "blue", "yellow", "orange"]) then {_color = "white"};
private _class = format ["ACE_FlashlightProxy_%1", _color];
_light = _class createVehicle [0,0,0];
_light attachTo [ACE_player, [0,0.1,-0.05], "neck"];
_glow = _class createVehicle [0,0,0];
_glow attachTo [_unit, [0,0.1,-0.05], "neck"];
} else {
_light = objNull;
_glow = objNull;
};
GVAR(glow) = _light;
if (_set) then {
_unit setVariable [QGVAR(flashlight), [_flashlight, _glow], true];
};
_glow