client/addons/briefing/functions/fnc_nextImage.sqf
Jacob Schmidt c6daf95415
All checks were successful
Build / Build (push) Successful in 53s
Initial Repo Setup
2025-01-01 14:35:12 -06:00

60 lines
1.2 KiB
Plaintext

#include "..\script_component.hpp"
/*
Author: PDT for J. Schmidt
displays the next image
Arguments:
0: _controller <OBJECT> - object that controls the slide show
Return Value:
<BOOL> - true if the next image was displayed; false if not
*/
params [["_controller", objNull]];
if (isNull _controller) exitWith {
_return = false;
_return
};
private _controllers = _controller getVariable ["FORGE_SlideShow_Controllers", []];
private _currentIndex = _controller getVariable ["FORGE_SlideShow_CurrentIndex", 0];
private _images = _controller getVariable ["FORGE_SlideShow_Images", []];
private _screens = _controller getVariable ["FORGE_SlideShow_Screens", []];
if (_images isEqualTo []) exitWith {
_return = false;
_return
};
if (_screens isEqualTo []) exitWith {
_return = false;
_return
};
if (_controllers isEqualTo []) exitWith {
_return = false;
_return
};
private _imageCount = (count _images) - 1;
if (_currentIndex isEqualTo _imageCount) then {
_currentIndex = 0;
} else {
_currentIndex = _currentIndex + 1;
};
{
_x setObjectTextureGlobal [0, (_images select _currentIndex) select 0];
true
} count (_screens);
{
_x setVariable ["FORGE_SlideShow_CurrentIndex", _currentIndex, true];
true
} count (_controllers);
_return = true;
_return