ACE3/addons/slideshow/functions/fnc_addSlideActions.sqf
Walthzer 84b18d3f06
Slideshow - Add "SlideChanged" event (#7954)
* Implement Events in slideshow framework.

* Update function header

* Pass correct agruments to next call of autoTransiton.

* Add return of slideshow ID

Return slideshow ID so it can be stored for later use with the events.

* Replace repeat code with variable. _image.

* Redundant comment removal

* Update addons/slideshow/functions/fnc_createSlideshow.sqf

Co-authored-by: jonpas <jonpas33@gmail.com>

Co-authored-by: jonpas <jonpas33@gmail.com>
2020-10-25 12:14:57 -05:00

51 lines
1.2 KiB
Plaintext

#include "script_component.hpp"
/*
* Author: Jonpas
* Adds controller slide actions.
*
* Arguments:
* 0: Objects <ARRAY>
* 1: Images <ARRAY>
* 2: Names <ARRAY>
* 3: Controller <OBJECT>
* 4: Current Slideshow <NUMBER>
*
* Return Value:
* List of actions <ARRAY>
*
* Example:
* [[object], ["image"], ["name"], controller, 1] call ace_slideshow_fnc_addSlideActions
*
* Public: No
*/
params ["_objects", "_images", "_names", "_controller", "_currentSlideshow"];
private _actions = [];
{
_actions pushBack
[
[
format [QGVAR(slideshow%1_slide%2), _currentSlideshow, _forEachIndex + 1],
_names select _forEachIndex,
"",
{
(_this select 2) params ["_objects", "_image", "_currentSlideshow"];
{
_x setObjectTextureGlobal [0, _image]
} count _objects;
[QGVAR(slideChanged), [_image, _currentSlideshow]] call CBA_fnc_localEvent;
},
{true},
{},
[_objects, _x, _currentSlideshow]
] call EFUNC(interact_menu,createAction),
[],
_controller
];
} forEach _images;
TRACE_1("Children actions",_actions);
_actions