/* * Author: SilentSpike * Used to update the docked camera buttons * Disables unavailable, highlights current * * Arguments: * None * * Return Value: * None * * Example: * [] call ace_spectator_fnc_ui_updateCamButtons * * Public: No */ #include "script_component.hpp" // These correspond to the camera mode indices #define ENUM_IDCs [IDC_FREE, IDC_FPS, IDC_FOLLOW] #define ENUM_ACTIVE [CAM_ICON_FREE_SELECTED, CAM_ICON_FPS_SELECTED, CAM_ICON_FOLLOW_SELECTED] #define ENUM_INACTIVE [CAM_ICON_FREE, CAM_ICON_FPS, CAM_ICON_FOLLOW] private _current = ENUM_IDCs select GVAR(camMode); { if (_forEachIndex in GVAR(availableModes)) then { // Highlight the current camera mode button private _icon = ([ENUM_INACTIVE, ENUM_ACTIVE] select (_x == _current)) select _forEachIndex; (CTRL_CAM_TYPES controlsGroupCtrl _x) ctrlSetText _icon; (CTRL_CAM_TYPES controlsGroupCtrl _x) ctrlShow true; } else { // Disable any inactive camera modes (CTRL_CAM_TYPES controlsGroupCtrl _x) ctrlShow false; }; } forEach ENUM_IDCs;