mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
db6f30fcc9
Does not include the Icon pack. When using the UI it may throw up some missing .paa file errors. Replacements will need to be found if we want to use those.
86 lines
3.5 KiB
Plaintext
86 lines
3.5 KiB
Plaintext
/**
|
|
* fn_setRadialMenuOptions_gui.sqf
|
|
* @Descr: N/A
|
|
* @Author: Glowbal
|
|
*
|
|
* @Arguments: []
|
|
* @Return:
|
|
* @PublicAPI: false
|
|
*/
|
|
|
|
#define DEFAULT_ENTRY ["","",{}, false, ""]
|
|
|
|
private ["_display","_availableOptions","_buttonCtrl","_iconCtrl","_textCtrl","_entry","_textCtrl", "_entries", "_target", "_title", "_backgroundCtrl"];
|
|
|
|
_target = [_this, 0, ObjNull, [ObjNull]] call BIS_fnc_Param;
|
|
_entries = [_this, 1, [], [[]]] call BIS_fnc_Param;
|
|
CSE_interactionTarget = _target;
|
|
|
|
|
|
disableSerialization;
|
|
_display = uiNamespace getvariable "CSE_RADIAL_MENU";
|
|
_availableOptions = [10, 11, 12, 13, 14, 15, 16, 17];
|
|
{
|
|
_buttonCtrl = _display displayCtrl _x;
|
|
_iconCtrl = _display displayCtrl (_x + 90);
|
|
_textCtrl = _display displayCtrl (_x + 190);
|
|
_backgroundCtrl = _display displayCtrl (_x + 790);
|
|
_buttonCtrl ctrlEnable true;
|
|
_entry = [_entries, _foreachIndex, DEFAULT_ENTRY,[[]],[4,5]] call BIS_fnc_Param;
|
|
if (typeName (_entry select 3) == typeName {}) then {
|
|
if ([player, _target] call (_entry select 3)) then {
|
|
_textCtrl ctrlSetText (_entry select 0);
|
|
_iconCtrl ctrlSetText (_entry select 1);
|
|
_title = _entry select 4;
|
|
if (isnil "_title") then {
|
|
_title = _entry select 0;
|
|
};
|
|
missionnamespace setvariable ["CSE_RADIAL_MENU_CODE_ON_MOUSE_IN_BUTTON_"+ str _x, format["if (!([] call cse_fnc_isOpenSecondRing_GUI) && CSE_ALLOW_ON_MOUSE_OVER_OPEN_RADIALMENU) then {[player,CSE_interactionTarget, %1, '%3'] call %2; }; true;",_x, _entry select 2, _title]];
|
|
_buttonCtrl ctrlSetEventHandler ["ButtonClick", format["[player,CSE_interactionTarget, %1, '%3'] call %2; true;",_x, _entry select 2, _title]];
|
|
_buttonCtrl ctrlSetTooltip (_entry select 4);
|
|
_backgroundCtrl ctrlSetTextColor [0,0,0,0.66];
|
|
_iconCtrl ctrlSetTextColor [1,1,1,0.66];
|
|
_textCtrl ctrlSetTextColor [1,1,1,0.66];
|
|
} else {
|
|
_buttonCtrl ctrlEnable false;
|
|
_textCtrl ctrlSetText (_entry select 0);
|
|
_iconCtrl ctrlSetText (_entry select 1);
|
|
_iconCtrl ctrlSetTextColor [1,1,1,0.2];
|
|
_textCtrl ctrlSetTextColor [1,1,1,0.2];
|
|
_buttonCtrl ctrlSetTooltip "";
|
|
_backgroundCtrl ctrlSetTextColor [0,0,0,0.66];
|
|
|
|
missionnamespace setvariable ["CSE_RADIAL_MENU_CODE_ON_MOUSE_IN_BUTTON_"+ str _x, ""];
|
|
};
|
|
} else {
|
|
if (_entry select 3) then {
|
|
_textCtrl ctrlSetText (_entry select 0);
|
|
_iconCtrl ctrlSetText (_entry select 1);
|
|
|
|
_iconCtrl ctrlSetTextColor [1,1,1,0.66];
|
|
_textCtrl ctrlSetTextColor [1,1,1,0.66];
|
|
_title = _entry select 4;
|
|
if (isnil "_title") then {
|
|
_title = _entry select 0;
|
|
};
|
|
missionnamespace setvariable ["CSE_RADIAL_MENU_CODE_ON_MOUSE_IN_BUTTON_"+ str _x, format["if (!([] call cse_fnc_isOpenSecondRing_GUI) && CSE_ALLOW_ON_MOUSE_OVER_OPEN_RADIALMENU) then {[player,CSE_interactionTarget, %1, '%3'] call %2; }; true;",_x, _entry select 2, _title]];
|
|
_buttonCtrl ctrlSetEventHandler ["ButtonClick", format["[player,CSE_interactionTarget,%1 , '%3'] call %2; true;",_x, _entry select 2, _title]];
|
|
_buttonCtrl ctrlSetTooltip (_entry select 4);
|
|
_backgroundCtrl ctrlSetTextColor [0,0,0,0.66];
|
|
} else {
|
|
_buttonCtrl ctrlEnable false;
|
|
_textCtrl ctrlSetText (_entry select 0);
|
|
_iconCtrl ctrlSetText (_entry select 1);
|
|
_iconCtrl ctrlSetTextColor [1,1,1,0.2];
|
|
_textCtrl ctrlSetTextColor [1,1,1,0.2];
|
|
missionnamespace setvariable ["CSE_RADIAL_MENU_CODE_ON_MOUSE_IN_BUTTON_"+ str _x, ""];
|
|
_buttonCtrl ctrlSetTooltip "";
|
|
_backgroundCtrl ctrlSetTextColor [0,0,0,0.66];
|
|
};
|
|
};
|
|
|
|
_textCtrl ctrlCommit 0;
|
|
_iconCtrl ctrlCommit 0;
|
|
_backgroundCtrl ctrlCommit 0;
|
|
_buttonCtrl ctrlCommit 0;
|
|
}foreach _availableOptions; |