Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
optionsmenucontrols.c
Go to the documentation of this file.
1class OptionsMenuControls extends ScriptedWidgetEventHandler
2{
3 protected Widget m_Root;
4
5 protected Widget m_SettingsRoot;
6 protected Widget m_DetailsRoot;
7 protected Widget m_DetailsBodyDefault;
8 protected Widget m_DetailsBodyConnectivity;
9#ifdef PLATFORM_CONSOLE
10 protected bool m_MaKOptionAvailable;
11 protected Widget m_ConsoleControllerSensitivityWidget;
12 protected Widget m_ConsoleMouseSensitivityWidget;
13#endif
14 protected TextWidget m_DetailsLabel;
15 protected RichTextWidget m_DetailsText;
16 protected GridSpacerWidget m_Keybindings;
17
18 protected GameOptions m_Options;
19 protected OptionsMenu m_Menu;
20
21 // console options accessors
22 protected ref SwitchOptionsAccess m_KeyboardOption;
23 protected ref SwitchOptionsAccess m_AimHelperOption;
24
25 // console options selectors
26 protected ref OptionSelectorMultistate m_KeyboardSelector;
27 protected ref OptionSelectorMultistate m_AimHelperSelector;
28
29 // mouse accessors
30 protected ref SwitchOptionsAccess m_Mouse_InvertOption;
31 protected ref NumericOptionsAccess m_Mouse_VSensitivityOption;
32 protected ref NumericOptionsAccess m_Mouse_HSensitivityOption;
33 protected ref NumericOptionsAccess m_Mouse_AimMod_VSensitivityOption;
34 protected ref NumericOptionsAccess m_Mouse_AimMod_HSensitivityOption;
35
36 // mouse selectors
37 protected ref OptionSelectorMultistate m_Mouse_InvertSelector;
38 protected ref OptionSelectorSlider m_Mouse_VSensitivitySelector;
39 protected ref OptionSelectorSlider m_Mouse_HSensitivitySelector;
40 protected ref OptionSelectorSlider m_Mouse_AimMod_VSensitivitySelector;
41 protected ref OptionSelectorSlider m_Mouse_AimMod_HSensitivitySelector;
42
43 // gamepad/controller accessors
44 protected ref NumericOptionsAccess m_ControllerLS_VSensitivityOption;
45 protected ref NumericOptionsAccess m_ControllerLS_HSensitivityOption;
46 protected ref NumericOptionsAccess m_ControllerLS_VehicleMod_HSensitivityOption;
47 protected ref SwitchOptionsAccess m_ControllerRS_InvertOption;
48 protected ref NumericOptionsAccess m_ControllerRS_VSensitivityOption;
49 protected ref NumericOptionsAccess m_ControllerRS_HSensitivityOption;
50 protected ref NumericOptionsAccess m_ControllerRS_CurvatureOption;
51 protected ref NumericOptionsAccess m_ControllerRS_AimMod_VSensitivityOption;
52 protected ref NumericOptionsAccess m_ControllerRS_AimMod_HSensitivityOption;
53 protected ref NumericOptionsAccess m_ControllerRS_AimMod_CurvatureOption;
54 protected ref NumericOptionsAccess m_ControllerLS_DeadZoneOption;
55 protected ref NumericOptionsAccess m_ControllerRS_DeadZoneOption;
56
57 // gamepad/controller selectors
58 protected ref OptionSelectorSlider m_ControllerLS_VSensitivitySelector;
59 protected ref OptionSelectorSlider m_ControllerLS_HSensitivitySelector;
60 protected ref OptionSelectorSlider m_ControllerLS_VehicleMod_HSensitivitySelector;
61 protected ref OptionSelectorMultistate m_ControllerRS_InvertSelector;
62 protected ref OptionSelectorSlider m_ControllerRS_VSensitivitySelector;
63 protected ref OptionSelectorSlider m_ControllerRS_HSensitivitySelector;
64 protected ref OptionSelectorSlider m_ControllerRS_CurvatureSelector;
65 protected ref OptionSelectorSlider m_ControllerRS_AimMod_VSensitivitySelector;
66 protected ref OptionSelectorSlider m_ControllerRS_AimMod_HSensitivitySelector;
67 protected ref OptionSelectorSlider m_ControllerRS_AimMod_CurvatureSelector;
68 protected ref OptionSelectorSlider m_ControllerLS_DeadZoneSelector;
69 protected ref OptionSelectorSlider m_ControllerRS_DeadZoneSelector;
70
71 protected ref map<int, ref Param2<string, string>> m_TextMap;
72
73 static const float SLIDER_STEP = 0.01;
74
75 protected OptionSelectorBase m_ActiveOption;
76
77 void OptionsMenuControls( Widget parent, Widget details_root, GameOptions options, OptionsMenu menu )
78 {
79 array<string> opt = { "#options_controls_disabled", "#options_controls_enabled" };
80
81 m_Root = GetGame().GetWorkspace().CreateWidgets( GetLayoutName(), parent );
82 m_Options = options;
83 m_Menu = menu;
84
85 m_DetailsRoot = details_root;
86 m_DetailsBodyDefault = m_DetailsRoot.FindAnyWidget("settings_details_body");
87 m_DetailsBodyConnectivity = m_DetailsRoot.FindAnyWidget("settings_details_body_connectivity");
88 m_DetailsLabel = TextWidget.Cast( m_DetailsRoot.FindAnyWidget( "details_label" ) );
89 m_DetailsText = RichTextWidget.Cast( m_DetailsRoot.FindAnyWidget( "details_content" ) );
90 m_Keybindings = GridSpacerWidget.Cast( m_Root.FindAnyWidget( "keyboard_settings_content" ) );
91 if( m_Keybindings )
92 m_Keybindings.SetUserID( 777 );
93
94 SetOptions( options );
95
96 // mouse (PC & consoles)
97 Widget mouse_InvertSettingOption = m_Root.FindAnyWidget( "mouse_invert_setting_option" );
98 Widget mouse_VSensitivitySettingOption = m_Root.FindAnyWidget( "mouse_vsensitivity_setting_option" );
99 Widget mouse_HSensitivitySettingOption = m_Root.FindAnyWidget( "mouse_hsensitivity_setting_option" );
100 Widget mouse_AimMod_VSensitivitySettingOption = m_Root.FindAnyWidget( "mouse_aimmod_vsensitivity_setting_option" );
101 Widget mouse_AimMod_HSensitivitySettingOption = m_Root.FindAnyWidget( "mouse_aimmod_hsensitivity_setting_option" );
102
103 mouse_InvertSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_INVERTED );
104 mouse_VSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS );
105 mouse_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS );
106 mouse_AimMod_VSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_AIM_MOD );
107 mouse_AimMod_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS_AIM_MOD );
108
109 m_Mouse_InvertSelector = new OptionSelectorMultistate(mouse_InvertSettingOption, m_Mouse_InvertOption.GetIndex(), this, false, opt );
110
111 m_Mouse_VSensitivitySelector = new OptionSelectorSlider(mouse_VSensitivitySettingOption, m_Mouse_VSensitivityOption.ReadValue(), this, false, m_Mouse_VSensitivityOption.GetMin(), m_Mouse_VSensitivityOption.GetMax(), true);
112 m_Mouse_VSensitivitySelector.SetStep(SLIDER_STEP);
113
114 m_Mouse_HSensitivitySelector = new OptionSelectorSlider(mouse_HSensitivitySettingOption, m_Mouse_HSensitivityOption.ReadValue(), this, false, m_Mouse_HSensitivityOption.GetMin(), m_Mouse_HSensitivityOption.GetMax(), true);
115 m_Mouse_HSensitivitySelector.SetStep(SLIDER_STEP);
116
117 m_Mouse_AimMod_VSensitivitySelector = new OptionSelectorSlider(mouse_AimMod_VSensitivitySettingOption, m_Mouse_AimMod_VSensitivityOption.ReadValue(), this, false, m_Mouse_AimMod_VSensitivityOption.GetMin(), m_Mouse_AimMod_VSensitivityOption.GetMax(), true);
118 m_Mouse_AimMod_VSensitivitySelector.SetStep(SLIDER_STEP);
119
120 m_Mouse_AimMod_HSensitivitySelector = new OptionSelectorSlider(mouse_AimMod_HSensitivitySettingOption, m_Mouse_AimMod_HSensitivityOption.ReadValue(), this, false, m_Mouse_AimMod_HSensitivityOption.GetMin(), m_Mouse_AimMod_HSensitivityOption.GetMax(), true);
121 m_Mouse_AimMod_HSensitivitySelector.SetStep(SLIDER_STEP);
122
123 m_Mouse_InvertSelector.m_OptionChanged.Insert( UpdateMouseInvertView );
124 m_Mouse_VSensitivitySelector.m_OptionChanged.Insert( UpdateMouseVSensitivity );
125 m_Mouse_HSensitivitySelector.m_OptionChanged.Insert( UpdateMouseHSensitivity );
126 m_Mouse_AimMod_VSensitivitySelector.m_OptionChanged.Insert( UpdateMouseAimModVSensitivity );
127 m_Mouse_AimMod_HSensitivitySelector.m_OptionChanged.Insert( UpdateMouseAimModHSensitivity );
128
129 // controller (consoles only)
130 #ifdef PLATFORM_CONSOLE
131 m_MaKOptionAvailable = g_Game.GetGameState() != DayZGameState.IN_GAME || GetGame().GetWorld().IsMouseAndKeyboardEnabledOnServer();
132 m_ConsoleControllerSensitivityWidget = m_Root.FindAnyWidget( "controller_settings_root" );
133 m_ConsoleMouseSensitivityWidget = m_Root.FindAnyWidget( "mouse_settings_root" );
134
135 Widget keyboardSettingOption = m_Root.FindAnyWidget( "keyboard_setting_option" );
136 Widget aimHelperSettingOption = m_Root.FindAnyWidget( "aimhelper_setting_option" );
137
138 Widget controllerLS_VSensitivitySettingOption = m_Root.FindAnyWidget("controller_ls_vsensitivity_setting_option");
139 Widget controllerLS_HSensitivitySettingOption = m_Root.FindAnyWidget("controller_ls_hsensitivity_setting_option");
140 Widget controllerLS_VehicleMod_HSensitivitySettingOption = m_Root.FindAnyWidget("controller_ls_vehicle_sensitivity_setting_option");
141 Widget controllerRS_InvertSettingOption = m_Root.FindAnyWidget("controller_rs_invert_setting_option");
142 Widget controllerRS_VSensitivitySettingOption = m_Root.FindAnyWidget("controller_rs_vsensitivity_setting_option");
143 Widget controllerRS_HSensitivitySettingOption = m_Root.FindAnyWidget("controller_rs_hsensitivity_setting_option");
144 Widget controllerRS_CurvatureSettingOption = m_Root.FindAnyWidget("controller_rs_curvature_setting_option");
145 Widget controllerRS_AimMod_VSensitivitySettingOption = m_Root.FindAnyWidget("controller_rs_aimmod_vsensitivity_setting_option");
146 Widget controllerRS_AimMod_HSensitivitySettingOption = m_Root.FindAnyWidget("controller_rs_aimmod_hsensitivity_setting_option");
147 Widget controllerRS_AimMod_CurvatureSettingOption = m_Root.FindAnyWidget("controller_rs_aimmod_curvature_setting_option");
148 Widget controllerLS_DeadZoneOption = m_Root.FindAnyWidget("controller_ls_deadzone_setting_option");
149 Widget controllerRS_DeadZoneOption = m_Root.FindAnyWidget("controller_rs_deadzone_setting_option");
150
151 keyboardSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_MOUSE_AND_KEYBOARD );
152 aimHelperSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_AIM_HELPER );
153
154 controllerLS_VSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_YAXIS );
155 controllerLS_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS );
156 controllerLS_VehicleMod_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS_VEHICLE_MOD );
157 controllerRS_InvertSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_INVERTED );
158 controllerRS_VSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS );
159 controllerRS_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS );
160 controllerRS_CurvatureSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE );
161 controllerRS_AimMod_VSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_AIM_MOD );
162 controllerRS_AimMod_HSensitivitySettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS_AIM_MOD );
163 controllerRS_AimMod_CurvatureSettingOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE_AIM_MOD );
164 controllerLS_DeadZoneOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_DEADZONE );
165 controllerRS_DeadZoneOption.SetUserID( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_DEADZONE );
166
167 m_KeyboardSelector = new OptionSelectorMultistate( keyboardSettingOption, m_KeyboardOption.GetIndex(), this, !m_MaKOptionAvailable, opt );
168 m_AimHelperSelector = new OptionSelectorMultistate( aimHelperSettingOption, m_AimHelperOption.GetIndex(), this, false, opt );
169
170 m_ControllerLS_VSensitivitySelector = new OptionSelectorSlider(controllerLS_VSensitivitySettingOption, m_ControllerLS_VSensitivityOption.ReadValue(), this, false, m_ControllerLS_VSensitivityOption.GetMin(), m_ControllerLS_VSensitivityOption.GetMax(), true);
171 m_ControllerLS_VSensitivitySelector.SetStep(SLIDER_STEP);
172
173 m_ControllerLS_HSensitivitySelector = new OptionSelectorSlider(controllerLS_HSensitivitySettingOption, m_ControllerLS_HSensitivityOption.ReadValue(), this, false, m_ControllerLS_HSensitivityOption.GetMin(), m_ControllerLS_HSensitivityOption.GetMax(), true);
174 m_ControllerLS_HSensitivitySelector.SetStep(SLIDER_STEP);
175
176 m_ControllerLS_VehicleMod_HSensitivitySelector = new OptionSelectorSlider(controllerLS_VehicleMod_HSensitivitySettingOption, m_ControllerLS_VehicleMod_HSensitivityOption.ReadValue(), this, false, m_ControllerLS_VehicleMod_HSensitivityOption.GetMin(), m_ControllerLS_VehicleMod_HSensitivityOption.GetMax(), true);
177 m_ControllerLS_VehicleMod_HSensitivitySelector.SetStep(SLIDER_STEP);
178
179 m_ControllerRS_InvertSelector = new OptionSelectorMultistate(controllerRS_InvertSettingOption, m_ControllerRS_InvertOption.GetIndex(), this, false, opt);
180
181 m_ControllerRS_VSensitivitySelector = new OptionSelectorSlider(controllerRS_VSensitivitySettingOption, m_ControllerRS_VSensitivityOption.ReadValue(), this, false, m_ControllerRS_VSensitivityOption.GetMin(), m_ControllerRS_VSensitivityOption.GetMax(), true);
182 m_ControllerRS_VSensitivitySelector.SetStep(SLIDER_STEP);
183
184 m_ControllerRS_HSensitivitySelector = new OptionSelectorSlider(controllerRS_HSensitivitySettingOption, m_ControllerRS_HSensitivityOption.ReadValue(), this, false, m_ControllerRS_HSensitivityOption.GetMin(), m_ControllerRS_HSensitivityOption.GetMax(), true);
185 m_ControllerRS_HSensitivitySelector.SetStep(SLIDER_STEP);
186
187 m_ControllerRS_CurvatureSelector = new OptionSelectorSlider(controllerRS_CurvatureSettingOption, m_ControllerRS_CurvatureOption.ReadValue(), this, false, m_ControllerRS_CurvatureOption.GetMin(), m_ControllerRS_CurvatureOption.GetMax(), true);
188 m_ControllerRS_CurvatureSelector.SetStep(SLIDER_STEP);
189
190 m_ControllerRS_AimMod_VSensitivitySelector = new OptionSelectorSlider(controllerRS_AimMod_VSensitivitySettingOption, m_ControllerRS_AimMod_VSensitivityOption.ReadValue(), this, false, m_ControllerRS_AimMod_VSensitivityOption.GetMin(), m_ControllerRS_AimMod_VSensitivityOption.GetMax(), true);
191 m_ControllerRS_AimMod_VSensitivitySelector.SetStep(SLIDER_STEP);
192
193 m_ControllerRS_AimMod_HSensitivitySelector = new OptionSelectorSlider(controllerRS_AimMod_HSensitivitySettingOption, m_ControllerRS_AimMod_HSensitivityOption.ReadValue(), this, false, m_ControllerRS_AimMod_HSensitivityOption.GetMin(), m_ControllerRS_AimMod_HSensitivityOption.GetMax(), true);
194 m_ControllerRS_AimMod_HSensitivitySelector.SetStep(SLIDER_STEP);
195
196 m_ControllerRS_AimMod_CurvatureSelector = new OptionSelectorSlider(controllerRS_AimMod_CurvatureSettingOption, m_ControllerRS_AimMod_CurvatureOption.ReadValue(), this, false, m_ControllerRS_AimMod_CurvatureOption.GetMin(), m_ControllerRS_AimMod_CurvatureOption.GetMax(), true);
197 m_ControllerRS_AimMod_CurvatureSelector.SetStep(SLIDER_STEP);
198
199 m_ControllerLS_DeadZoneSelector = new OptionSelectorSlider(controllerLS_DeadZoneOption, m_ControllerLS_DeadZoneOption.ReadValue(), this, false, m_ControllerLS_DeadZoneOption.GetMin(), m_ControllerLS_DeadZoneOption.GetMax(), true);
200 m_ControllerLS_DeadZoneSelector.SetStep(SLIDER_STEP);
201
202 m_ControllerRS_DeadZoneSelector = new OptionSelectorSlider(controllerRS_DeadZoneOption, m_ControllerRS_DeadZoneOption.ReadValue(), this, false, m_ControllerRS_DeadZoneOption.GetMin(), m_ControllerRS_DeadZoneOption.GetMax(), true);
203 m_ControllerRS_DeadZoneSelector.SetStep(SLIDER_STEP);
204
205 m_KeyboardSelector.m_OptionChanged.Insert( UpdateKeyboard );
206 m_AimHelperSelector.m_OptionChanged.Insert( UpdateAimHelper );
207
208 m_ControllerLS_VSensitivitySelector.m_OptionChanged.Insert( UpdateControllerLS_VSensitivity );
209 m_ControllerLS_HSensitivitySelector.m_OptionChanged.Insert( UpdateControllerLS_HSensitivity );
210 m_ControllerLS_VehicleMod_HSensitivitySelector.m_OptionChanged.Insert( UpdateControllerLS_VehicleMod_HSensitivity );
211 m_ControllerRS_InvertSelector.m_OptionChanged.Insert( UpdateControllerRS_InvertView );
212 m_ControllerRS_VSensitivitySelector.m_OptionChanged.Insert( UpdateControllerRS_VSensitivity );
213 m_ControllerRS_HSensitivitySelector.m_OptionChanged.Insert( UpdateControllerRS_HSensitivity );
214 m_ControllerRS_CurvatureSelector.m_OptionChanged.Insert( UpdateControllerRS_Curvature );
215 m_ControllerRS_AimMod_VSensitivitySelector.m_OptionChanged.Insert( UpdateControllerRS_AimMod_VSensitivity );
216 m_ControllerRS_AimMod_HSensitivitySelector.m_OptionChanged.Insert( UpdateControllerRS_AimMod_HSensitivity );
217 m_ControllerRS_AimMod_CurvatureSelector.m_OptionChanged.Insert( UpdateControllerRS_AimMod_Curvature );
218 m_ControllerLS_DeadZoneSelector.m_OptionChanged.Insert( UpdateControllerLS_Deadzone );
219 m_ControllerRS_DeadZoneSelector.m_OptionChanged.Insert( UpdateControllerRS_Deadzone );
220
221 ShowConsoleSensitivityOptions(m_KeyboardOption.GetIndex());
222
223 bool MaKState = m_KeyboardSelector.IsEnabled() && GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer();
224 GetGame().GetCallQueue(CALL_CATEGORY_GUI).Call(m_Menu.ToggleDependentOptions,EDependentOptions.MOUSEANDKEYBOARD_QUICKBAR,MaKState);
225 #endif
226
227 FillTextMap();
228
229 float x, y, y2;
230 m_Root.FindAnyWidget( "controls_settings_scroll" ).GetScreenSize( x, y );
231 m_Root.FindAnyWidget( "controls_settings_root" ).GetScreenSize( x, y2 );
232 int f = ( y2 > y );
233 m_Root.FindAnyWidget( "controls_settings_scroll" ).SetAlpha( f );
234
235 m_Root.SetHandler( this );
236 }
237
238 string GetLayoutName()
239 {
240 #ifdef PLATFORM_CONSOLE
241 return "gui/layouts/new_ui/options/xbox/controls_tab.layout";
242 #else
243 return "gui/layouts/new_ui/options/pc/controls_tab.layout";
244 #endif
245 }
246
247 void EnterKeybindingMenu()
248 {
249 m_Menu.EnterScriptedMenu( MENU_KEYBINDINGS );
250 }
251
253 void Focus()
254 {
255 #ifdef PLATFORM_CONSOLE
256 if (m_KeyboardSelector && m_KeyboardSelector.IsSelectorEnabled())
257 {
258 m_KeyboardSelector.Focus();
259 }
260 else if (m_AimHelperSelector)
261 {
262 m_AimHelperSelector.Focus();
263 }
264 #endif
265 }
266
267 override bool OnMouseEnter( Widget w, int x, int y )
268 {
269 if ( w && w.IsInherited( ScrollWidget ) )
270 {
271 return false;
272 }
273
274 m_Menu.ColorHighlight( w );
275
276 return true;
277 }
278
279 override bool OnMouseLeave( Widget w, Widget enterW, int x, int y )
280 {
281 if ( w && w.IsInherited( ScrollWidget ) )
282 {
283 return false;
284 }
285
286 m_Menu.ColorNormal( w );
287 return true;
288 }
289
290 override bool OnMouseButtonUp( Widget w, int x, int y, int button )
291 {
292 if( button == MouseState.LEFT )
293 {
294 #ifndef PLATFORM_CONSOLE
295 if( w == m_Keybindings )
296 {
297 EnterKeybindingMenu();
298 return true;
299 }
300 #endif
301 }
302 return false;
303 }
304
305 override bool OnFocus( Widget w, int x, int y )
306 {
307 OptionsMenu menu = OptionsMenu.Cast( GetGame().GetUIManager().GetMenu() );
308 if( menu )
309 {
310 menu.OnFocus( w, x, y );
311 }
312
313 if( w )
314 {
315 if (TextMapUpdateWidget(w.GetUserID()))
316 {
317 return true;
318 }
319
320 if( w.IsInherited( SliderWidget ) )
321 {
322 ColorRed( w );
323 return true;
324 }
325
326 if( w.IsInherited( EditBoxWidget ) )
327 {
328 ColorRed( w );
329 return true;
330 }
331
332 if( IsFocusable( w ) )
333 {
334 ColorRed( w );
335 return true;
336 }
337 }
338 else
339 {
340 m_DetailsRoot.Show( false );
341 }
342 return ( w != null );
343 }
344
345 override bool OnFocusLost( Widget w, int x, int y )
346 {
347 if( IsFocusable( w ) )
348 {
349 ColorWhite( w, null );
350 return true;
351 }
352 return false;
353 }
354
355 bool IsFocusable( Widget w )
356 {
357 return w && (w.GetFlags() & ~WidgetFlags.NOFOCUS);
358 }
359
360 bool TextMapUpdateWidget(int key)
361 {
362 bool connectivityInfoShown = key == OptionIDsScript.OPTION_CONNECTIVITY_INFO;
364 Param tmp = m_TextMap.Get(key);
365
366 m_DetailsBodyDefault.Show(!connectivityInfoShown);
367 m_DetailsBodyConnectivity.Show(connectivityInfoShown);
368
369 if (Class.CastTo(p,tmp))
370 {
371 m_DetailsRoot.Show(true);
372 m_DetailsText.Show(true);
373 m_DetailsLabel.SetText(p.param1);
374 m_DetailsText.SetText(p.param2);
375
376 m_DetailsText.Update();
377 m_DetailsLabel.Update();
378 m_DetailsRoot.Update();
379 m_DetailsBodyConnectivity.Update();
380 return true;
381 }
382 return false;
383 }
384
385 bool IsChanged()
386 {
387 #ifdef PLATFORM_CONSOLE
388 if (m_MaKOptionAvailable)
389 {
390 return (IsConsoleOptionChanged() || (m_KeyboardSelector.IsEnabled() && m_KeyboardOption.GetIndex() == 0) || (!m_KeyboardSelector.IsEnabled() && m_KeyboardOption.GetIndex() == 1));
391 }
392 else
393 {
394 return IsConsoleOptionChanged();
395 }
396 #else
397 return IsOptionChanged();
398 #endif
399 }
400
401 #ifdef PLATFORM_CONSOLE
402 bool IsConsoleOptionChanged()
403 {
404 bool consoleOptionChanged = (m_ControllerLS_VSensitivitySelector.Changed() || m_ControllerLS_HSensitivitySelector.Changed() || m_ControllerLS_VehicleMod_HSensitivitySelector.Changed() || m_ControllerRS_VSensitivitySelector.Changed() || m_ControllerRS_HSensitivitySelector.Changed() || m_ControllerRS_CurvatureSelector.Changed() || m_ControllerRS_AimMod_VSensitivitySelector.Changed());
405 if (m_MaKOptionAvailable)
406 {
407 return (IsOptionChanged() || consoleOptionChanged);
408 }
409 else
410 {
411 return consoleOptionChanged;
412 }
413 }
414 #endif
415
416 bool IsOptionChanged()
417 {
418 return (m_Mouse_VSensitivitySelector.Changed() || m_Mouse_HSensitivitySelector.Changed() || m_Mouse_AimMod_VSensitivitySelector.Changed() || m_Mouse_AimMod_HSensitivitySelector.Changed());
419 }
420
421 void Apply()
422 {
423 #ifdef PLATFORM_CONSOLE
424 bool changed = false;
425 if (m_MaKOptionAvailable)
426 {
427 //on change
428 if ((m_KeyboardSelector.IsEnabled() && m_KeyboardOption.GetIndex() == 0) || (!m_KeyboardSelector.IsEnabled() && m_KeyboardOption.GetIndex() == 1))
429 {
430 m_KeyboardOption.Switch();
431 changed = true;
432 }
433 }
434
435 Focus();
436 GetGame().GetUIManager().ShowUICursor( m_MaKOptionAvailable && m_KeyboardOption.GetIndex() );
437 if (changed)
438 g_Game.UpdateInputDeviceDisconnectWarning();
439
440 m_Menu.Refresh();
441 m_ControllerLS_VSensitivitySelector.Refresh();
442 m_ControllerLS_HSensitivitySelector.Refresh();
443 m_ControllerLS_VehicleMod_HSensitivitySelector.Refresh();
444 m_ControllerRS_VSensitivitySelector.Refresh();
445 m_ControllerRS_HSensitivitySelector.Refresh();
446 m_ControllerRS_CurvatureSelector.Refresh();
447 m_ControllerRS_AimMod_VSensitivitySelector.Refresh();
448 m_ControllerRS_AimMod_HSensitivitySelector.Refresh();
449 m_ControllerRS_AimMod_CurvatureSelector.Refresh();
450 m_ControllerLS_DeadZoneSelector.Refresh();
451 m_ControllerRS_DeadZoneSelector.Refresh();
452
453 if (m_MaKOptionAvailable)
454 {
455 #endif
456 m_Mouse_VSensitivitySelector.Refresh();
457 m_Mouse_HSensitivitySelector.Refresh();
458 m_Mouse_AimMod_VSensitivitySelector.Refresh();
459 m_Mouse_AimMod_HSensitivitySelector.Refresh();
460 #ifdef PLATFORM_CONSOLE
461 }
462 #endif
463 }
464
465 void Revert()
466 {
467 if(m_Mouse_InvertSelector)
468 m_Mouse_InvertSelector.SetValue(m_Mouse_InvertOption.GetIndex(), true);
469
470 if(m_Mouse_VSensitivitySelector)
471 {
472 m_Mouse_VSensitivitySelector.SetValue(m_Mouse_VSensitivityOption.ReadValue(), true);
473 m_Mouse_VSensitivitySelector.SetValueText();
474 }
475
476 if(m_Mouse_HSensitivitySelector)
477 {
478 m_Mouse_HSensitivitySelector.SetValue(m_Mouse_HSensitivityOption.ReadValue(), true);
479 m_Mouse_HSensitivitySelector.SetValueText();
480 }
481
482 if(m_Mouse_AimMod_VSensitivitySelector)
483 {
484 m_Mouse_AimMod_VSensitivitySelector.SetValue(m_Mouse_AimMod_VSensitivityOption.ReadValue(), true);
485 m_Mouse_AimMod_VSensitivitySelector.SetValueText();
486 }
487
488 if(m_Mouse_AimMod_HSensitivitySelector)
489 {
490 m_Mouse_AimMod_HSensitivitySelector.SetValue(m_Mouse_AimMod_HSensitivityOption.ReadValue(), true);
491 m_Mouse_AimMod_HSensitivitySelector.SetValueText();
492 }
493
494 #ifdef PLATFORM_CONSOLE
495 if(m_KeyboardSelector)
496 m_KeyboardSelector.SetValue(m_KeyboardOption.GetIndex(), true);
497 if(m_AimHelperSelector)
498 m_AimHelperSelector.SetValue(m_AimHelperOption.GetIndex(), true);
499
500 if(m_ControllerLS_VSensitivitySelector)
501 {
502 m_ControllerLS_VSensitivitySelector.SetValue(m_ControllerLS_VSensitivityOption.ReadValue(), true);
503 m_ControllerLS_VSensitivitySelector.SetValueText();
504 }
505
506 if(m_ControllerLS_HSensitivitySelector)
507 {
508 m_ControllerLS_HSensitivitySelector.SetValue(m_ControllerLS_HSensitivityOption.ReadValue(), true);
509 m_ControllerLS_HSensitivitySelector.SetValueText();
510 }
511
512 if(m_ControllerLS_VehicleMod_HSensitivitySelector)
513 {
514 m_ControllerLS_VehicleMod_HSensitivitySelector.SetValue(m_ControllerLS_VehicleMod_HSensitivityOption.ReadValue(), true);
515 m_ControllerLS_VehicleMod_HSensitivitySelector.SetValueText();
516 }
517
518 if(m_ControllerRS_InvertSelector)
519 m_ControllerRS_InvertSelector.SetValue(m_ControllerRS_InvertOption.GetIndex(), true);
520
521 if(m_ControllerRS_VSensitivitySelector)
522 {
523 m_ControllerRS_VSensitivitySelector.SetValue(m_ControllerRS_VSensitivityOption.ReadValue(), true);
524 m_ControllerRS_VSensitivitySelector.SetValueText();
525 }
526
527 if(m_ControllerRS_HSensitivitySelector)
528 {
529 m_ControllerRS_HSensitivitySelector.SetValue(m_ControllerRS_HSensitivityOption.ReadValue(), true);
530 m_ControllerRS_HSensitivitySelector.SetValueText();
531 }
532
533 if(m_ControllerRS_CurvatureSelector)
534 {
535 m_ControllerRS_CurvatureSelector.SetValue(m_ControllerRS_CurvatureOption.ReadValue(), true);
536 m_ControllerRS_CurvatureSelector.SetValueText();
537 }
538
539 if(m_ControllerRS_AimMod_VSensitivitySelector)
540 {
541 m_ControllerRS_AimMod_VSensitivitySelector.SetValue(m_ControllerRS_AimMod_VSensitivityOption.ReadValue(), true);
542 m_ControllerRS_AimMod_VSensitivitySelector.SetValueText();
543 }
544
545 if(m_ControllerRS_AimMod_HSensitivitySelector)
546 {
547 m_ControllerRS_AimMod_HSensitivitySelector.SetValue(m_ControllerRS_AimMod_HSensitivityOption.ReadValue(), true);
548 m_ControllerRS_AimMod_HSensitivitySelector.SetValueText();
549 }
550
551 if(m_ControllerRS_AimMod_CurvatureSelector)
552 {
553 m_ControllerRS_AimMod_CurvatureSelector.SetValue(m_ControllerRS_AimMod_CurvatureOption.ReadValue(), true);
554 m_ControllerRS_AimMod_CurvatureSelector.SetValueText();
555 }
556
557 if(m_ControllerLS_DeadZoneSelector)
558 {
559 m_ControllerLS_DeadZoneSelector.SetValue(m_ControllerLS_DeadZoneOption.ReadValue(), true);
560 m_ControllerLS_DeadZoneSelector.SetValueText();
561 }
562
563 if(m_ControllerRS_DeadZoneSelector)
564 {
565 m_ControllerRS_DeadZoneSelector.SetValue(m_ControllerRS_DeadZoneOption.ReadValue(), true);
566 m_ControllerRS_DeadZoneSelector.SetValueText();
567 }
568 #endif
569 }
570
571 void SetToDefaults()
572 {
573 if(m_Mouse_InvertSelector)
574 m_Mouse_InvertSelector.SetValue(m_Mouse_InvertOption.GetDefaultIndex(), true);
575
576 if(m_Mouse_VSensitivitySelector)
577 {
578 m_Mouse_VSensitivitySelector.SetValue(m_Mouse_VSensitivityOption.GetDefault(), true);
579 m_Mouse_VSensitivitySelector.SetValueText();
580 }
581
582 if(m_Mouse_HSensitivitySelector)
583 {
584 m_Mouse_HSensitivitySelector.SetValue(m_Mouse_HSensitivityOption.GetDefault(), true);
585 m_Mouse_HSensitivitySelector.SetValueText();
586 }
587
588 if(m_Mouse_AimMod_VSensitivitySelector)
589 {
590 m_Mouse_AimMod_VSensitivitySelector.SetValue(m_Mouse_AimMod_VSensitivityOption.GetDefault(), true);
591 m_Mouse_AimMod_VSensitivitySelector.SetValueText();
592 }
593
594 if(m_Mouse_AimMod_HSensitivitySelector)
595 {
596 m_Mouse_AimMod_HSensitivitySelector.SetValue(m_Mouse_AimMod_HSensitivityOption.GetDefault(), true);
597 m_Mouse_AimMod_HSensitivitySelector.SetValueText();
598 }
599
600 #ifdef PLATFORM_CONSOLE
601 if(m_KeyboardSelector)
602 m_KeyboardSelector.SetValue(m_KeyboardOption.GetDefaultIndex(), true);
603 if(m_AimHelperSelector)
604 m_AimHelperSelector.SetValue(m_AimHelperOption.GetDefaultIndex(), true);
605
606 if(m_ControllerLS_VSensitivitySelector)
607 {
608 m_ControllerLS_VSensitivitySelector.SetValue(m_ControllerLS_VSensitivityOption.GetDefault(), true);
609 m_ControllerLS_VSensitivitySelector.SetValueText();
610 }
611
612 if(m_ControllerLS_HSensitivitySelector)
613 {
614 m_ControllerLS_HSensitivitySelector.SetValue(m_ControllerLS_HSensitivityOption.GetDefault(), true);
615 m_ControllerLS_HSensitivitySelector.SetValueText();
616 }
617
618 if(m_ControllerLS_VehicleMod_HSensitivitySelector)
619 {
620 m_ControllerLS_VehicleMod_HSensitivitySelector.SetValue(m_ControllerLS_VehicleMod_HSensitivityOption.GetDefault(), true);
621 m_ControllerLS_VehicleMod_HSensitivitySelector.SetValueText();
622 }
623
624 if(m_ControllerRS_InvertSelector)
625 m_ControllerRS_InvertSelector.SetValue(m_ControllerRS_InvertOption.GetDefaultIndex(), true);
626
627 if(m_ControllerRS_VSensitivitySelector)
628 {
629 m_ControllerRS_VSensitivitySelector.SetValue(m_ControllerRS_VSensitivityOption.GetDefault(), true);
630 m_ControllerRS_VSensitivitySelector.SetValueText();
631 }
632
633 if(m_ControllerRS_HSensitivitySelector)
634 {
635 m_ControllerRS_HSensitivitySelector.SetValue(m_ControllerRS_HSensitivityOption.GetDefault(), true);
636 m_ControllerRS_HSensitivitySelector.SetValueText();
637 }
638
639 if(m_ControllerRS_CurvatureSelector)
640 {
641 m_ControllerRS_CurvatureSelector.SetValue(m_ControllerRS_CurvatureOption.GetDefault(), true);
642 m_ControllerRS_CurvatureSelector.SetValueText();
643 }
644
645 if(m_ControllerRS_AimMod_VSensitivitySelector)
646 {
647 m_ControllerRS_AimMod_VSensitivitySelector.SetValue(m_ControllerRS_AimMod_VSensitivityOption.GetDefault(), true);
648 m_ControllerRS_AimMod_VSensitivitySelector.SetValueText();
649 }
650
651 if(m_ControllerRS_AimMod_HSensitivitySelector)
652 {
653 m_ControllerRS_AimMod_HSensitivitySelector.SetValue(m_ControllerRS_AimMod_HSensitivityOption.GetDefault(), true);
654 m_ControllerRS_AimMod_HSensitivitySelector.SetValueText();
655 }
656
657 if(m_ControllerRS_AimMod_CurvatureSelector)
658 {
659 m_ControllerRS_AimMod_CurvatureSelector.SetValue(m_ControllerRS_AimMod_CurvatureOption.GetDefault(), true);
660 m_ControllerRS_AimMod_CurvatureSelector.SetValueText();
661 }
662
663 if(m_ControllerLS_DeadZoneSelector)
664 {
665 m_ControllerLS_DeadZoneSelector.SetValue(m_ControllerLS_DeadZoneOption.GetDefault(), true);
666 m_ControllerLS_DeadZoneSelector.SetValueText();
667 }
668
669 if(m_ControllerRS_DeadZoneSelector)
670 {
671 m_ControllerRS_DeadZoneSelector.SetValue(m_ControllerRS_DeadZoneOption.GetDefault(), true);
672 m_ControllerRS_DeadZoneSelector.SetValueText();
673 }
674
675 Focus();
676 #endif
677
678 }
679
680#ifdef PLATFORM_CONSOLE
681 void ShowConsoleSensitivityOptions(int index)
682 {
683 m_ConsoleMouseSensitivityWidget.Show(index == 1 && m_MaKOptionAvailable);
684 }
685
686 void UpdateKeyboard( int index )
687 {
688 Focus();
689 ShowConsoleSensitivityOptions(index);
690 m_Menu.OnChanged();
691 //m_Menu.ToggleDependentOptions(EDependentOptions.MOUSEANDKEYBOARD_QUICKBAR,index == 1 && GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer());
692 }
693
694 void UpdateAimHelper( int index )
695 {
696 if ( m_AimHelperOption.GetIndex() != index )
697 {
698 m_AimHelperOption.Switch();
699 m_Menu.OnChanged();
700 }
701 }
702
703 void UpdateControllerLS_VSensitivity( float value )
704 {
705 m_ControllerLS_VSensitivityOption.WriteValue( value );
706 m_Menu.OnChanged();
707 }
708
709 void UpdateControllerLS_HSensitivity( float value )
710 {
711 m_ControllerLS_HSensitivityOption.WriteValue( value );
712 m_Menu.OnChanged();
713 }
714
715 void UpdateControllerLS_VehicleMod_HSensitivity( float value )
716 {
717 m_ControllerLS_VehicleMod_HSensitivityOption.WriteValue( value );
718 m_Menu.OnChanged();
719 }
720
721 void UpdateControllerRS_InvertView( int index )
722 {
723 if ( m_ControllerRS_InvertOption.GetIndex() != index )
724 {
725 m_ControllerRS_InvertOption.Switch();
726 m_Menu.OnChanged();
727 }
728 }
729
730 void UpdateControllerRS_VSensitivity( float value )
731 {
732 m_ControllerRS_VSensitivityOption.WriteValue( value );
733 m_Menu.OnChanged();
734 }
735
736 void UpdateControllerRS_HSensitivity( float value )
737 {
738 m_ControllerRS_HSensitivityOption.WriteValue( value );
739 m_Menu.OnChanged();
740 }
741
742 void UpdateControllerRS_Curvature( float value )
743 {
744 m_ControllerRS_CurvatureOption.WriteValue( value );
745 m_Menu.OnChanged();
746 }
747
748 void UpdateControllerLS_Deadzone( float value )
749 {
750 m_ControllerLS_DeadZoneOption.WriteValue( value );
751 m_Menu.OnChanged();
752 }
753
754 void UpdateControllerRS_Deadzone( float value )
755 {
756 m_ControllerRS_DeadZoneOption.WriteValue( value );
757 m_Menu.OnChanged();
758 }
759
760 void UpdateControllerRS_AimMod_VSensitivity( float value )
761 {
762 m_ControllerRS_AimMod_VSensitivityOption.WriteValue( value );
763 m_Menu.OnChanged();
764 }
765
766 void UpdateControllerRS_AimMod_HSensitivity( float value )
767 {
768 m_ControllerRS_AimMod_HSensitivityOption.WriteValue( value );
769 m_Menu.OnChanged();
770 }
771
772 void UpdateControllerRS_AimMod_Curvature( float value )
773 {
774 m_ControllerRS_AimMod_CurvatureOption.WriteValue( value );
775 m_Menu.OnChanged();
776 }
777#endif
778
779 void UpdateMouseInvertView( int index )
780 {
781 if ( m_Mouse_InvertOption.GetIndex() != index )
782 {
783 m_Mouse_InvertOption.Switch();
784 m_Menu.OnChanged();
785 }
786 }
787
788 void UpdateMouseVSensitivity( float value )
789 {
790 m_Mouse_VSensitivityOption.WriteValue( value );
791 m_Menu.OnChanged();
792 }
793
794 void UpdateMouseHSensitivity( float value )
795 {
796 m_Mouse_HSensitivityOption.WriteValue( value );
797 m_Menu.OnChanged();
798 }
799
800 void UpdateMouseAimModVSensitivity( float value )
801 {
802 m_Mouse_AimMod_VSensitivityOption.WriteValue( value );
803 m_Menu.OnChanged();
804 }
805
806 void UpdateMouseAimModHSensitivity( float value )
807 {
808 m_Mouse_AimMod_HSensitivityOption.WriteValue( value );
809 m_Menu.OnChanged();
810 }
811
812 void ReloadOptions()
813 {
814 m_Menu.ReloadOptions();
815 }
816
817 void SetOptions( GameOptions options )
818 {
819 m_Options = options;
820
821 // mouse (PC & consoles)
822 m_Mouse_InvertOption = SwitchOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_INVERTED ) );
823 m_Mouse_VSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS ) );
824 m_Mouse_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS ) );
825 m_Mouse_AimMod_VSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_AIM_MOD ) );
826 m_Mouse_AimMod_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS_AIM_MOD ) );
827
828 // controller (consoles only)
829 #ifdef PLATFORM_CONSOLE
830 m_KeyboardOption = SwitchOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_MOUSE_AND_KEYBOARD ) );
831 m_AimHelperOption = SwitchOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_AIM_HELPER ) );
832
833 m_ControllerLS_VSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_YAXIS ) );
834 m_ControllerLS_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS ) );
835 m_ControllerLS_VehicleMod_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS_VEHICLE_MOD ) );
836 m_ControllerRS_InvertOption = SwitchOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_INVERTED ) );
837 m_ControllerRS_VSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS ) );
838 m_ControllerRS_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS ) );
839 m_ControllerRS_CurvatureOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE ) );
840 m_ControllerRS_AimMod_VSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_AIM_MOD ) );
841 m_ControllerRS_AimMod_HSensitivityOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS_AIM_MOD ) );
842 m_ControllerRS_AimMod_CurvatureOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE_AIM_MOD ) );
843 m_ControllerLS_DeadZoneOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_DEADZONE ) );
844 m_ControllerRS_DeadZoneOption = NumericOptionsAccess.Cast( m_Options.GetOptionByType( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_DEADZONE ) );
845 #endif
846
847 Revert();
848 }
849
850 void ToggleDependentOptions(int mode, bool state)
851 {
852 }
853
854 void InitDependentOptionsVisibility()
855 {
856 }
857
858 void FillTextMap()
859 {
861 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_INVERTED, new Param2<string, string>( "#STR_Invert_Vertical_tip_header", "#STR_Invert_Vertical_tip" ) );
862 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS, new Param2<string, string>( "#STR_Camera_V_Sensitivity_tip_header", "#STR_Camera_V_Sensitivity_tip" ) );
863 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS, new Param2<string, string>( "#STR_Camera_H_Sensitivity_tip_header", "#STR_Camera_H_Sensitivity_tip" ) );
864 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_YAXIS_AIM_MOD, new Param2<string, string>( "#STR_Aiming_V_Sensitivity_tip_header", "#STR_Aiming_V_Sensitivity_tip" ) );
865 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_XAXIS_AIM_MOD, new Param2<string, string>( "#STR_Aiming_H_Sensitivity_tip_header", "#STR_Aiming_H_Sensitivity_tip" ) );
866
867 #ifdef PLATFORM_CONSOLE
868 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_MOUSE_AND_KEYBOARD, new Param2<string, string>( "#xbox_options_controls_mandk_contr", "#xbox_options_controls_mandk_contr_desc" ) );
869 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_AIM_HELPER, new Param2<string, string>( "#ps4_options_controls_aim_helper_contr", "#ps4_options_controls_aim_helper_contr_desc" ) );
870
871 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_YAXIS, new Param2<string, string>( "#STR_Movement_V_Sensitivity_tip_header", "#STR_Movement_V_Sensitivity_tip" ) );
872 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS, new Param2<string, string>( "#STR_Movement_H_Sensitivity_tip_header", "#STR_Movement_H_Sensitivity_tip" ) );
873 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_XAXIS_VEHICLE_MOD, new Param2<string, string>( "#STR_Movement_Vehicle_Sensitivity_tip_header", "#STR_Movement_Vehicle_Sensitivity_tip" ) );
874 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_INVERTED, new Param2<string, string>( "#STR_Invert_Vertical_tip_header", "#STR_Invert_Vertical_tip" ) );
875 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS, new Param2<string, string>( "#STR_Camera_V_Sensitivity_tip_header", "#STR_Camera_V_Sensitivity_tip" ) );
876 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS, new Param2<string, string>( "#STR_Camera_H_Sensitivity_tip_header", "#STR_Camera_H_Sensitivity_tip" ) );
877 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE, new Param2<string, string>( "#STR_Camera_Curvature_tip_header", "#STR_Camera_Curvature_tip" ) );
878 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_YAXIS_AIM_MOD, new Param2<string, string>( "#STR_Aiming_V_Sensitivity_tip_header", "#STR_Aiming_V_Sensitivity_tip" ) );
879 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_XAXIS_AIM_MOD, new Param2<string, string>( "#STR_Aiming_H_Sensitivity_tip_header", "#STR_Aiming_H_Sensitivity_tip" ) );
880 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_CURVATURE_AIM_MOD, new Param2<string, string>( "#STR_Aiming_Curvature_tip_header", "#STR_Camera_Curvature_tip" ) );
881 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_LS_DEADZONE, new Param2<string, string>( "#STR_Aiming_L_Deadzone_tip_header", "#STR_Aiming_L_Deadzone_tip" ) );
882 m_TextMap.Insert( OptionAccessType.AT_OPTIONS_CONTROLLER_RS_DEADZONE, new Param2<string, string>( "#STR_Aiming_R_Deadzone_tip_header", "#STR_Aiming_R_Deadzone_tip" ) );
883 #endif
884 }
885
886 //Coloring functions (Until WidgetStyles are useful)
887 void ColorRed( Widget w )
888 {
889 SetFocus( w );
890 ButtonWidget button;
891 if (Class.CastTo(button,w))
892 {
893 button.SetTextColor( ARGB( 255, 255, 0, 0 ) );
894 button.SetAlpha( 0.9 );
895 }
896 }
897
898 void ColorWhite( Widget w, Widget enterW )
899 {
900 ButtonWidget button;
901 if (Class.CastTo(button,w))
902 {
903 button.SetTextColor( ARGB( 255, 255, 255, 255 ) );
904 button.SetAlpha( 0.0 );
905 }
906 }
907
908 void SetActiveOption(OptionSelectorBase option)
909 {
910 m_ActiveOption = option;
911 }
912
913 OptionSelectorBase GetActiveOption()
914 {
915 return m_ActiveOption;
916 }
917}
override bool OnMouseEnter(Widget w, int x, int y)
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
Super root of all classes in Enforce script.
Definition enscript.c:11
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Definition param.c:12
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZGame g_Game
Definition dayzgame.c:3868
EDependentOptions
OptionIDsScript
Used for script-based game options. For anything C++ based, you would most likely use "Option Access ...
Definition gameplay.c:1293
proto native CGame GetGame()
OptionAccessType
C++ OptionAccessType.
Definition gameplay.c:1224
const int MENU_KEYBINDINGS
Definition constants.c:203
MouseState
Definition ensystem.c:311
const int CALL_CATEGORY_GUI
Definition tools.c:9
WidgetFlags
Definition enwidgets.c:58
Icon x
Icon y
int ARGB(int a, int r, int g, int b)
Definition proto.c:322
override bool OnMouseButtonUp(Widget w, int x, int y, int button)
Definition radialmenu.c:668
ServerBrowserMenuNew m_Menu
void Focus()
override bool OnFocusLost(Widget w, int x, int y)
bool IsFocusable(Widget w)
Widget m_DetailsRoot
override bool OnFocus(Widget w, int x, int y)
Widget m_Root
Definition sizetochild.c:91