2023-09-12 18:58:10 +00:00
|
|
|
#include "..\script_component.hpp"
|
2021-10-14 15:46:43 +00:00
|
|
|
/*
|
|
|
|
* Author: Jonpas
|
|
|
|
* Changes camera mode based on vehicle type the player is currently occupying.
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Vehicle <OBJECT>
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* [vehicle] call ace_viewrestriction_fnc_selectiveChangeCamera
|
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
|
|
|
params ["_cameraOn"];
|
|
|
|
|
|
|
|
// Foot
|
|
|
|
if (_cameraOn isKindOf "CAManBase") exitWith {
|
|
|
|
if (XGVAR(modeSelectiveFoot) == 1) exitWith {
|
|
|
|
_cameraOn switchCamera "INTERNAL";
|
|
|
|
};
|
|
|
|
if (XGVAR(modeSelectiveFoot) == 2) exitWith {
|
|
|
|
_cameraOn switchCamera "EXTERNAL";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
// Land Vehicles
|
|
|
|
if (_cameraOn isKindOf "LandVehicle") exitWith {
|
|
|
|
if (XGVAR(modeSelectiveLand) == 1) exitWith {
|
|
|
|
_cameraOn switchCamera "INTERNAL";
|
|
|
|
};
|
|
|
|
if (XGVAR(modeSelectiveLand) == 2) exitWith {
|
|
|
|
_cameraOn switchCamera "EXTERNAL";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
// UAVs (must be evaluated before Air Vehicles due to inheritance tree)
|
|
|
|
// Disabled - Reference comment in FUNC(canChangeCamera)
|
|
|
|
/*if (_cameraOn isKindOf "UAV" || {_cameraOn isKindOf "UAV_01_base_F"}) exitWith {
|
|
|
|
if (GVAR(modeSelectiveUAV) == 1) exitWith {
|
|
|
|
_cameraOn switchCamera "INTERNAL";
|
|
|
|
};
|
|
|
|
if (GVAR(modeSelectiveUAV) == 2) exitWith {
|
|
|
|
_cameraOn switchCamera "EXTERNAL";
|
|
|
|
};
|
|
|
|
};*/
|
|
|
|
|
|
|
|
// Air Vehicles (must be evaluated after UAVs due to inheritance tree)
|
|
|
|
if (_cameraOn isKindOf "Air") exitWith {
|
|
|
|
if (XGVAR(modeSelectiveAir) == 1) exitWith {
|
|
|
|
_cameraOn switchCamera "INTERNAL";
|
|
|
|
};
|
|
|
|
if (XGVAR(modeSelectiveAir) == 2) exitWith {
|
|
|
|
_cameraOn switchCamera "EXTERNAL";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
// Sea Vehicles
|
|
|
|
if (_cameraOn isKindOf "Ship") exitWith {
|
|
|
|
if (XGVAR(modeSelectiveSea) == 1) exitWith {
|
|
|
|
_cameraOn switchCamera "INTERNAL";
|
|
|
|
};
|
|
|
|
if (XGVAR(modeSelectiveSea) == 2) exitWith {
|
|
|
|
_cameraOn switchCamera "EXTERNAL";
|
|
|
|
};
|
|
|
|
};
|