mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
FavBar: performance optimization
This commit is contained in:
parent
082036236a
commit
a0e9ddbbef
Sources
epoch_code
compile
gui/scripts/favBar
epoch_config/Configs
@ -39,7 +39,7 @@ if !(alive player) exitWith{ false };
|
||||
|
||||
EPOCH_doRotate = false;
|
||||
EPOCH_modKeys = [_shift,_ctrl,_alt];
|
||||
'modifier' spawn epoch_favBar_draw;
|
||||
call epoch_favBar_modifier;
|
||||
|
||||
//Favorites bar
|
||||
if (_dikCode in [EPOCH_keysfav1,EPOCH_keysfav2,EPOCH_keysfav3,EPOCH_keysfav4,EPOCH_keysfav5]) then {
|
||||
|
@ -35,7 +35,7 @@ _this call Epoch_custom_EH_KeyUp;
|
||||
if (_handled) exitWith{ true };
|
||||
|
||||
EPOCH_modKeys = [_shift,_ctrl,_alt];
|
||||
'modifier' spawn epoch_favBar_draw;
|
||||
call epoch_favBar_modifier;
|
||||
|
||||
//Main actions
|
||||
if (_dikCode == EPOCH_keysAction) then {
|
||||
|
@ -40,8 +40,8 @@ if (_item == "") exitWith {_return};
|
||||
_slot = _item call epoch_itemTypeSlot;
|
||||
_loadout = getUnitLoadout player;
|
||||
_uniform = _loadout param [3,[]];
|
||||
_vest = _loadout param [4,[]]
|
||||
_bpack = _loadout param [5,[]]
|
||||
_vest = _loadout param [4,[]];
|
||||
_bpack = _loadout param [5,[]];
|
||||
_uniformItems = _uniform param [1,[]];
|
||||
_vestItems = _vest param [1,[]];
|
||||
_bPackItems = _bPack param [1,[]];
|
||||
|
@ -14,12 +14,13 @@
|
||||
Usage: none
|
||||
*/
|
||||
disableSerialization;
|
||||
|
||||
private ["_action","_idx","_bidx","_mod"];
|
||||
params ["_action","_idx","_bidx","_mod"];
|
||||
|
||||
switch _action do {
|
||||
case "load":
|
||||
{
|
||||
private ["_tmp","_c","_p"];
|
||||
if (EPOCH_fav_resetOnLogin) then {
|
||||
profileNamespace setVariable ["rmx_var_favBar_MNone",nil];
|
||||
profileNamespace setVariable ["rmx_var_favBar_MCtrl",nil];
|
||||
@ -46,18 +47,13 @@ switch _action do {
|
||||
_c ctrlCommit 0;
|
||||
};
|
||||
|
||||
"draw_current" call epoch_favBar_draw;
|
||||
call epoch_favBar_drawCurrent;
|
||||
call epoch_favBar_refresh;
|
||||
};
|
||||
case "draw_current":
|
||||
{
|
||||
for "_i" from 0 to 4 do {
|
||||
_c = (["fav_pic", _i+1] call epoch_getHUDCtrl);
|
||||
_c ctrlSetText ((rmx_var_favBar_current select _i) call EPOCH_itemPicture);
|
||||
};
|
||||
};
|
||||
case "add":
|
||||
{
|
||||
private ["_type","_isBanned","_isAmmo","_isChemlight","_itemIsWeapon","_itemHasInteraction","_c"];
|
||||
|
||||
if (rmx_var_favBar_Item in EPOCH_fav_BannedItems) exitWith {"Item is not allowed in favorites!" call epoch_message; false};
|
||||
if (rmx_var_favBar_Item in rmx_var_favBar_current) exitWith {"Item already exists in favorites!" call epoch_message; false}; //if duplicate
|
||||
|
||||
@ -115,28 +111,6 @@ switch _action do {
|
||||
_c ctrlSetText "";
|
||||
};
|
||||
};
|
||||
case "modifier":
|
||||
{
|
||||
switch EPOCH_modKeys do {
|
||||
case [true,false,false]: //shift
|
||||
{
|
||||
rmx_var_favBar_current = rmx_var_favBar_MShift;
|
||||
};
|
||||
case [false,true,false]: //Ctrl
|
||||
{
|
||||
rmx_var_favBar_current = rmx_var_favBar_MCtrl;
|
||||
};
|
||||
case [false,false,true]: //Alt
|
||||
{
|
||||
rmx_var_favBar_current = rmx_var_favBar_MAlt;
|
||||
};
|
||||
default { //Any other combo or no modifier
|
||||
rmx_var_favBar_current = rmx_var_favBar_MNone;
|
||||
};
|
||||
};
|
||||
'draw_current' call epoch_favBar_draw;
|
||||
call epoch_favBar_refresh;
|
||||
};
|
||||
default {systemChat "fail"};
|
||||
};
|
||||
|
||||
|
@ -0,0 +1,4 @@
|
||||
for "_i" from 0 to 4 do {
|
||||
_c = (["fav_pic", _i+1] call epoch_getHUDCtrl);
|
||||
_c ctrlSetText ((rmx_var_favBar_current select _i) call EPOCH_itemPicture);
|
||||
};
|
@ -41,7 +41,7 @@ rmx_var_fav_selected = false;
|
||||
//(_this select 1 select 0 select 2)
|
||||
{
|
||||
_c = _display displayCtrl _x;
|
||||
_c ctrlAddEventHandler ["MouseButtonDown",(format ["'modifier' spawn epoch_favBar_draw; rmx_var_favBar_Item = %1 call epoch_favBar_getItemByIDC; rmx_var_fav_selected = true",_x])];
|
||||
_c ctrlAddEventHandler ["MouseButtonDown",(format ["call epoch_favBar_modifier; rmx_var_favBar_Item = %1 call epoch_favBar_getItemByIDC; rmx_var_fav_selected = true",_x])];
|
||||
} forEach [610,620,641,622,621,644,623,611,624,642,626,625,627,612,628,643,630,629,631,6240,6216,6217,6238];
|
||||
|
||||
_gIdx = 0;
|
||||
|
@ -0,0 +1,8 @@
|
||||
switch EPOCH_modKeys do {
|
||||
case [true,false,false]:{rmx_var_favBar_current = rmx_var_favBar_MShift;};
|
||||
case [false,true,false]:{rmx_var_favBar_current = rmx_var_favBar_MCtrl;};
|
||||
case [false,false,true]:{rmx_var_favBar_current = rmx_var_favBar_MAlt;};
|
||||
default {rmx_var_favBar_current = rmx_var_favBar_MNone;};
|
||||
};
|
||||
call epoch_favBar_drawCurrent;
|
||||
call epoch_favBar_refresh;
|
@ -324,11 +324,13 @@ class CfgClientFunctions
|
||||
class favBar {
|
||||
file = "epoch_code\gui\scripts\favBar";
|
||||
class favBar_draw {};
|
||||
class favBar_drawCurrent {};
|
||||
class favBar_refresh {};
|
||||
class favBar_action{};
|
||||
class favBar_getItemByIDC {};
|
||||
class favBar_inventory {};
|
||||
class favBar_getGearItem {};
|
||||
class favBar_modifier {};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user