/* * Author: SilentSpike * Interrupts the spectator interface for external systems * * Arguments: * 0: Reason * 1: Interrupting (default: true) * * Return Value: * None * * Example: * ["mySystem"] call ace_spectator_fnc_interrupt * * Public: Yes */ #include "script_component.hpp" params [["_reason", "", [""]], ["_interrupt", true, [true]]]; // Nothing to do when spectator is closed if !(GVAR(isSet)) exitWith {}; if (_reason == "") exitWith { ERROR("Invalid Reason"); }; if (_interrupt) then { GVAR(interrupts) pushBack _reason; } else { GVAR(interrupts) = GVAR(interrupts) - [_reason]; }; if (GVAR(interrupts) isEqualTo []) then { if (isNull (findDisplay 12249)) then { createDialog QGVAR(interface); [] call FUNC(transitionCamera); }; } else { if !(isNull (findDisplay 12249)) then { while {dialog} do { closeDialog 0; }; (findDisplay 12249) closeDisplay 0; }; };