Skip to content

Commit

Permalink
Merge pull request #1665 from hypoxia125/master
Browse files Browse the repository at this point in the history
Events - Add "turretOpticsMode" Player EH
  • Loading branch information
PabstMirror committed Jul 28, 2024
2 parents 6b21914 + c2c0621 commit acea974
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 16 deletions.
36 changes: 22 additions & 14 deletions addons/events/fnc_addPlayerEventHandler.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,21 @@ Description:
Adds a player event handler.
Possible events:
"unit" - player controlled unit changed
"weapon" - currently selected weapon change
"turretweapon" - currently selected turret weapon change
"muzzle" - currently selected muzzle change
"weaponMode" - currently selected weapon mode change
"loadout" - players loadout changed
"vehicle" - players current vehicle changed
"turret" - position in vehicle changed
"visionMode" - player changed to normal/night/thermal view
"cameraView" - camera mode changed ("Internal", "External", "Gunner" etc.)
"featureCamera" - camera changed (Curator, Arsenal, Spectator etc.)
"visibleMap" - opened or closed map
"group" - player group changes
"leader" - leader of player changes
"unit" - player controlled unit changed
"weapon" - currently selected weapon change
"turretweapon" - currently selected turret weapon change
"muzzle" - currently selected muzzle change
"weaponMode" - currently selected weapon mode change
"loadout" - players loadout changed
"vehicle" - players current vehicle changed
"turret" - position in vehicle changed
"turretOpticsMode" - turret zoom (FOV) changed
"visionMode" - player changed to normal/night/thermal view
"cameraView" - camera mode changed ("Internal", "External", "Gunner" etc.)
"featureCamera" - camera changed (Curator, Arsenal, Spectator etc.)
"visibleMap" - opened or closed map
"group" - player group changes
"leader" - leader of player changes
Parameters:
_type - Event handler type. <STRING>
Expand Down Expand Up @@ -103,6 +104,12 @@ private _id = switch (_type) do {
};
[QGVAR(turretEvent), _function] call CBA_fnc_addEventHandler // return id
};
case "turretopticsmode": {
if (_applyRetroactively) then {
[GVAR(oldUnit), getTurretOpticsMode GVAR(oldUnit), -1] call _function;
};
[QGVAR(turretOpticsModeEvent), _function] call CBA_fnc_addEventHandler;
};
case "visionmode": {
if (_applyRetroactively) then {
[GVAR(oldUnit), currentVisionMode GVAR(oldUnit), -1] call _function;
Expand Down Expand Up @@ -158,6 +165,7 @@ if (_id != -1) then {
GVAR(oldLoadoutNoAmmo) = [];
GVAR(oldVehicle) = objNull;
GVAR(oldTurret) = [];
GVAR(oldTurretOpticsMode) = -1;
GVAR(oldVisionMode) = -1;
GVAR(oldCameraView) = "";
GVAR(oldFeatureCamera) = "";
Expand Down
9 changes: 7 additions & 2 deletions addons/events/fnc_playerEvent.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ private _state = [
_unit, group _unit, leader _unit,
currentWeapon _unit, currentMuzzle _unit, currentWeaponMode _unit,
getUnitLoadout _unit, _vehicle, _turret, _vehicle currentWeaponTurret _turret,
currentVisionMode focusOn, cameraView
currentVisionMode focusOn, cameraView, getTurretOpticsMode _unit
];

if (_state isNotEqualTo GVAR(oldState)) then {
Expand All @@ -41,7 +41,7 @@ if (_state isNotEqualTo GVAR(oldState)) then {
"", "_newGroup", "_newLeader",
"_newWeapon", "_newMuzzle", "_newWeaponMode",
"_newLoadout", "", "", "_newTurretWeapon",
"_newVisionMode", "_newCameraView"
"_newVisionMode", "_newCameraView", "_newTurretOpticsMode"
];

// These events should fire if the context of the state has changed.
Expand Down Expand Up @@ -124,4 +124,9 @@ if (_state isNotEqualTo GVAR(oldState)) then {
[QGVAR(cameraViewEvent), [_unit, _newCameraView, GVAR(oldCameraView)]] call CBA_fnc_localEvent;
GVAR(oldCameraView) = _newCameraView; // This assignment may be returned.
};

if (_newTurretOpticsMode isNotEqualTo GVAR(oldTurretOpticsMode)) then {
[QGVAR(turretOpticsModeEvent), [_unit, _newTurretOpticsMode, GVAR(oldTurretOpticsMode)]] call CBA_fnc_localEvent;
GVAR(oldTurretOpticsMode) = _newTurretOpticsMode;
};
};

0 comments on commit acea974

Please sign in to comment.