Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_GameplaySettingsSubMenu.c
Go to the documentation of this file.
1
void
ScriptInvoker_GameplaySettingsSubMenu
(
SCR_GameplaySettingsSubMenu
menu);
2
typedef
func
ScriptInvoker_GameplaySettingsSubMenu
;
3
typedef
ScriptInvokerBase<ScriptInvoker_GameplaySettingsSubMenu>
ScriptInvoker_GameplaySettingsSubMenuChanged
;
4
5
class
SCR_GameplaySettingsSubMenu
:
SCR_SettingsSubMenuBase
6
{
7
protected
static
const
ref array<string>
m_aLanguages
= {
8
"en_us"
,
9
"fr_fr"
,
10
"it_it"
,
11
"de_de"
,
12
"es_es"
,
13
"cs_cz"
,
14
"pl_pl"
,
15
"ru_ru"
,
16
"ja_jp"
,
17
"ko_kr"
,
18
"pt_br"
,
19
"zh_cn"
,
20
"uk_ua"
21
};
22
protected
static
const
string
m_sUserInterfaceSettings
=
"UserInterfaceSettings"
;
23
24
static
ref
ScriptInvoker_GameplaySettingsSubMenuChanged
m_OnLanguageChanged
=
new
ScriptInvoker_GameplaySettingsSubMenuChanged
();
25
26
//------------------------------------------------------------------------------------------------
27
override
void
OnTabHide
()
28
{
29
super.OnTabHide();
30
31
SCR_PlayerController
.
SetGameUserSettings
();
32
SCR_AimSensitivitySettings
.SetAimSensitivitySettings();
33
SCR_ControllerSettings
.SetControllerSettings();
34
}
35
36
//------------------------------------------------------------------------------------------------
37
override
void
OnTabCreate
(
Widget
menuRoot,
ResourceName
buttonsLayout,
int
index
)
38
{
39
super.OnTabCreate(menuRoot, buttonsLayout,
index
);
40
41
m_aSettingsBindings
.Clear();
42
43
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingEngine
(
"InputDeviceUserSettings"
,
"MouseInvert"
,
"MouseY"
));
44
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingEngine
(
"InputDeviceUserSettings"
,
"GamepadInvert"
,
"GamepadY"
));
45
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_bStickyADS"
,
"StickyADS"
));
46
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_bPlatformIconNametag"
,
"ShowPlatformIcon"
));
47
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_bLogitechSupport"
,
"LogitechLED"
));
48
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_bStickyGadgets"
,
"StickyGadgets"
));
49
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_bAutoEquipNextPlaceableItem"
,
"AutomaticEquipmentOfPlaceables"
));
50
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_bMouseControlAircraft"
,
"MouseControlAircraft"
));
51
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_bGamepadFreelookInAircraft"
,
"GamepadFreelookInAircraft"
));
52
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_eDrivingAssistance"
,
"DrivingAssistance"
));
53
54
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_FieldOfViewSettings"
,
"m_fFirstPersonFOV"
,
"1PP"
));
55
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_FieldOfViewSettings"
,
"m_fThirdPersonFOV"
,
"3PP"
));
56
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_FieldOfViewSettings"
,
"m_fVehicleFOV"
,
"VehicleFOV"
));
57
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_FieldOfViewSettings"
,
"m_fFocusInADS"
,
"FocusIntensityADS"
));
58
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_FieldOfViewSettings"
,
"m_fFocusInPIP"
,
"FocusIntensityPIP"
));
59
60
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_eKeyboardCollective"
,
"KeyboardCollective"
));
61
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_eGamepadCollective"
,
"GamepadCollective"
));
62
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_GameplaySettings"
,
"m_eHotasCollective"
,
"HotasCollective"
));
63
64
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_AimSensitivitySettings"
,
"m_fMouseSensitivity"
,
"AimMouse"
));
65
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_AimSensitivitySettings"
,
"m_fStickSensitivity"
,
"AimGamepad"
));
66
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_AimSensitivitySettings"
,
"m_fAimADS"
,
"AimADS"
));
67
68
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_AimSensitivitySettings"
,
"m_fFOVInputCurveMouse"
,
"FOVInputCurveMouse"
));
69
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_AimSensitivitySettings"
,
"m_fFOVInputCurveStick"
,
"FOVInputCurveStick"
));
70
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_AimSensitivitySettings"
,
"m_fFOVInputCurveGyro"
,
"FOVInputCurveGyro"
));
71
72
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_ControllerSettings"
,
"m_bGyroAlways"
,
"GyroAlways"
));
73
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_ControllerSettings"
,
"m_bGyroFreelook"
,
"GyroFreelook"
));
74
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_ControllerSettings"
,
"m_bGyroADS"
,
"GyroADS"
));
75
76
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_ControllerSettings"
,
"m_fGyroSensitivity"
,
"GyroSensitivity"
));
77
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_ControllerSettings"
,
"m_fGyroVerticalHorizontalRatio"
,
"GyroVerticalHorizontalRatio"
));
78
79
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_ControllerSettings"
,
"m_eGyroDirectionYaw"
,
"GyroDirectionYaw"
));
80
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_ControllerSettings"
,
"m_eGyroDirectionPitch"
,
"GyroDirectionPitch"
));
81
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_ControllerSettings"
,
"m_eGyroDirectionRoll"
,
"GyroDirectionRoll"
));
82
83
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingGameplay
(
"SCR_ControllerSettings"
,
"m_fRumbleIntensity"
,
"RumbleIntensity"
));
84
85
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingEngine
(
"InputDeviceUserSettings"
,
"GyroAimingSpace"
,
"GyroAimingSpace"
,
"GyroSettings"
));
86
87
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingEngine
(
"InputDeviceUserSettings"
,
"GyroAccelerationSensitivity"
,
"GyroAcceleration"
,
"GyroSettings"
));
88
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingEngine
(
"InputDeviceUserSettings"
,
"GyroAccelerationSpeedMin"
,
"GyroAccelerationSpeedMin"
,
"GyroSettings"
));
89
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingEngine
(
"InputDeviceUserSettings"
,
"GyroAccelerationSpeedMax"
,
"GyroAccelerationSpeedMax"
,
"GyroSettings"
));
90
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingEngine
(
"InputDeviceUserSettings"
,
"GyroPrecisionSpeed"
,
"GyroPrecisionSpeed"
,
"GyroSettings"
));
91
m_aSettingsBindings
.Insert(
new
SCR_SettingBindingEngine
(
"InputDeviceUserSettings"
,
"GyroSmoothingSpeed"
,
"GyroSmoothingSpeed"
,
"GyroSettings"
));
92
93
LoadSettings
();
94
95
BindLanguage
();
96
BindCrossplaySettings
();
97
98
if
(
DiagMenu
.GetBool(
SCR_DebugMenuID
.DEBUGUI_UI_SHOW_ALL_SETTINGS,
false
))
99
return
;
100
101
#ifdef PLATFORM_CONSOLE
102
// Hide unusual console settings (consoles -can- use USB KBM)
103
if
(!
GetGame
().
GetHasKeyboard
())
104
{
105
HideMenuItem
(
"MouseY"
);
106
HideMenuItem
(
"AimMouse"
);
107
HideMenuItem
(
"MouseControlAircraft"
);
108
HideMenuItem
(
"FOVInputCurveMouse"
);
109
HideMenuItem
(
"KeyboardCollective"
);
110
HideMenuItem
(
"LogitechLED"
);
111
}
112
113
HideMenuItem
(
"HotasCollective"
);
114
HideMenuItem
(
"ShowPlatformIcon"
);
115
#endif
116
117
// Hide gyro settings outside platforms that support them
118
EPlatform
platform =
System
.GetPlatform();
119
if
(platform !=
EPlatform
.PS4 && platform !=
EPlatform
.PS5 && platform !=
EPlatform
.PS5_PRO && platform !=
EPlatform
.UNKNOWN)
120
{
121
HideMenuItem
(
"TitleGyro"
);
122
123
HideMenuItem
(
"GyroAlways"
);
124
HideMenuItem
(
"GyroFreelook"
);
125
HideMenuItem
(
"GyroADS"
);
126
127
HideMenuItem
(
"GyroSensitivity"
);
128
HideMenuItem
(
"FOVInputCurveGyro"
);
129
HideMenuItem
(
"GyroVerticalHorizontalRatio"
);
130
HideMenuItem
(
"GyroDirectionYaw"
);
131
HideMenuItem
(
"GyroDirectionPitch"
);
132
HideMenuItem
(
"GyroDirectionRoll"
);
133
134
HideMenuItem
(
"GyroAimingSpace"
);
135
136
HideMenuItem
(
"GyroAcceleration"
);
137
HideMenuItem
(
"GyroAccelerationSpeedMin"
);
138
HideMenuItem
(
"GyroAccelerationSpeedMax"
);
139
HideMenuItem
(
"GyroPrecisionSpeed"
);
140
HideMenuItem
(
"GyroSmoothingSpeed"
);
141
}
142
}
143
144
//------------------------------------------------------------------------------------------------
145
protected
void
BindLanguage
()
146
{
147
BaseContainer
setting =
GetGame
().GetEngineUserSettings().GetModule(
m_sUserInterfaceSettings
);
148
if
(!setting)
149
return
;
150
151
string
currentLang;
152
setting.Get(
"LanguageCode"
, currentLang);
153
154
int
i =
m_aLanguages
.Find(currentLang);
155
if
(i == -1)
156
return
;
157
158
Widget
w =
m_wRoot
.FindAnyWidget(
"Language"
);
159
if
(!w)
160
return
;
161
162
SCR_SpinBoxComponent
comp =
SCR_SpinBoxComponent
.Cast(w.FindHandler(
SCR_SpinBoxComponent
));
163
if
(!comp)
164
return
;
165
166
comp.
SetCurrentItem
(i);
167
comp.m_OnChanged.Insert(
OnLanguageChange
);
168
}
169
170
//------------------------------------------------------------------------------------------------
171
protected
void
BindCrossplaySettings
()
172
{
173
Widget
w =
m_wRoot
.FindAnyWidget(
"AllowCrossplay"
);
174
if
(!w)
175
return
;
176
177
SCR_SpinBoxComponent
comp =
SCR_SpinBoxComponent
.Cast(w.FindHandler(
SCR_SpinBoxComponent
));
178
if
(!comp)
179
return
;
180
181
comp.
SetCurrentItem
(
GetGame
().IsCrossPlayEnabled());
182
comp.m_OnChanged.Insert(
OnCrossplayChanged
);
183
}
184
185
//------------------------------------------------------------------------------------------------
186
void
OnCrossplayChanged
()
187
{
188
const
string
settingName =
"AllowCrossplay"
;
189
Widget
w =
m_wRoot
.FindAnyWidget(settingName);
190
if
(!w)
191
return
;
192
193
SCR_SpinBoxComponent
comp =
SCR_SpinBoxComponent
.Cast(w.FindHandler(
SCR_SpinBoxComponent
));
194
if
(!comp)
195
return
;
196
197
Print
(
"Setting: "
+ comp.GetCurrentIndex());
198
if
(!
GetGame
().SetCrossPlay(comp.GetCurrentIndex()))
199
{
200
comp.
SetCurrentItem
(!comp.GetCurrentIndex());
201
Print
(
"Setting back: "
+ !comp.GetCurrentIndex());
202
}
203
204
GetGame
().UserSettingsChanged();
205
206
//SCR_AnalyticsApplication.GetInstance().ChangeSetting(m_sUserInterfaceSettings, settingName);
207
}
208
209
//------------------------------------------------------------------------------------------------
210
protected
void
OnLanguageChange
(
SCR_SpinBoxComponent
comp,
int
i)
211
{
212
BaseContainer
setting =
GetGame
().GetEngineUserSettings().GetModule(
m_sUserInterfaceSettings
);
213
if
(!setting)
214
return
;
215
216
if
(!
m_aLanguages
.IsIndexValid(i))
217
return
;
218
219
const
string
settingName =
"LanguageCode"
;
220
setting.Set(settingName,
m_aLanguages
[i]);
221
GetGame
().UserSettingsChanged();
222
223
m_OnLanguageChanged
.Invoke(
this
);
224
225
//SCR_AnalyticsApplication.GetInstance().ChangeSetting(m_sUserInterfaceSettings, settingName);
226
}
227
}
SCR_DebugMenuID
SCR_DebugMenuID
This enum contains all IDs for DiagMenu entries added in script.
Definition
DebugMenuID.c:4
GetHasKeyboard
bool GetHasKeyboard()
Definition
game.c:210
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
func
func
Definition
SCR_AIThreatSystem.c:6
index
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
Definition
SCR_DestructionSynchronizationComponent.c:17
ScriptInvoker_GameplaySettingsSubMenu
func ScriptInvoker_GameplaySettingsSubMenu
Definition
SCR_GameplaySettingsSubMenu.c:2
ScriptInvoker_GameplaySettingsSubMenuChanged
ScriptInvokerBase< ScriptInvoker_GameplaySettingsSubMenu > ScriptInvoker_GameplaySettingsSubMenuChanged
Definition
SCR_GameplaySettingsSubMenu.c:3
LoadSettings
void LoadSettings()
Definition
SCR_HintManagerComponent.c:455
BaseContainer
Definition
BaseContainer.c:13
DiagMenu
Diagnostic and developer menu system.
Definition
DiagMenu.c:18
ResourceName
Definition
ResourceName.c:13
SCR_AimSensitivitySettings
Definition
SCR_ControllerSettings.c:2
SCR_ControllerSettings
Definition
SCR_ControllerSettings.c:128
SCR_GameplaySettingsSubMenu
Definition
SCR_GameplaySettingsSubMenu.c:6
SCR_GameplaySettingsSubMenu::m_aLanguages
static const ref array< string > m_aLanguages
Definition
SCR_GameplaySettingsSubMenu.c:7
SCR_GameplaySettingsSubMenu::OnLanguageChange
void OnLanguageChange(SCR_SpinBoxComponent comp, int i)
Definition
SCR_GameplaySettingsSubMenu.c:210
SCR_GameplaySettingsSubMenu::BindLanguage
void BindLanguage()
Definition
SCR_GameplaySettingsSubMenu.c:145
SCR_GameplaySettingsSubMenu::OnCrossplayChanged
void OnCrossplayChanged()
Definition
SCR_GameplaySettingsSubMenu.c:186
SCR_GameplaySettingsSubMenu::OnTabHide
override void OnTabHide()
Definition
SCR_GameplaySettingsSubMenu.c:27
SCR_GameplaySettingsSubMenu::m_sUserInterfaceSettings
static const string m_sUserInterfaceSettings
Definition
SCR_GameplaySettingsSubMenu.c:22
SCR_GameplaySettingsSubMenu::OnTabCreate
override void OnTabCreate(Widget menuRoot, ResourceName buttonsLayout, int index)
Definition
SCR_GameplaySettingsSubMenu.c:37
SCR_GameplaySettingsSubMenu::BindCrossplaySettings
void BindCrossplaySettings()
Definition
SCR_GameplaySettingsSubMenu.c:171
SCR_GameplaySettingsSubMenu::m_OnLanguageChanged
static ref ScriptInvoker_GameplaySettingsSubMenuChanged m_OnLanguageChanged
Definition
SCR_GameplaySettingsSubMenu.c:24
SCR_PlayerController
Definition
SCR_PlayerController.c:31
SCR_PlayerController::SetGameUserSettings
static void SetGameUserSettings()
Definition
SCR_PlayerController.c:266
SCR_ScriptedWidgetComponent::m_wRoot
Widget m_wRoot
Definition
SCR_ScriptedWidgetComponent.c:9
SCR_SettingBindingEngine
Definition
SCR_SettingBindingEngine.c:2
SCR_SettingBindingGameplay
Definition
SCR_SettingBindingGameplay.c:2
SCR_SettingsSubMenuBase
Definition
SCR_SettingsSubMenuBase.c:2
SCR_SettingsSubMenuBase::m_aSettingsBindings
ref array< ref SCR_SettingsBindingBase > m_aSettingsBindings
Definition
SCR_SettingsSubMenuBase.c:3
SCR_SettingsSubMenuBase::HideMenuItem
void HideMenuItem(string widgetName)
Definition
SCR_SettingsSubMenuBase.c:56
SCR_SpinBoxComponent
Definition
SCR_SpinBoxComponent.c:2
SCR_SpinBoxComponent::SetCurrentItem
override bool SetCurrentItem(int i, bool playSound=false, bool animate=false)
Definition
SCR_SpinBoxComponent.c:142
System
Definition
System.c:13
Widget
Definition
Widget.c:13
Print
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
EPlatform
EPlatform
Definition
EPlatform.c:13
scripts
Game
UI
Menu
SettingsMenu
SCR_GameplaySettingsSubMenu.c
Generated by
1.17.0