Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_MotionControlCalibrationPromptDialog.c
Go to the documentation of this file.
1class SCR_MotionControlCalibrationPromptDialog : SCR_ConfigurableDialogUi
2{
3 //------------------------------------------------------------------------------------------------
4 void SCR_MotionControlCalibrationPromptDialog()
5 {
6 SCR_ConfigurableDialogUi.CreateFromPreset(SCR_CommonDialogs.DIALOGS_CONFIG, "calibrate_motion_control_prompt", this);
7 }
8
9 //------------------------------------------------------------------------------------------------
10 override void OnMenuOpen(SCR_ConfigurableDialogUiPreset preset)
11 {
12 super.OnMenuOpen(preset);
13
14 SCR_InputButtonComponent confirm = FindButton("continue_calibration");
15 if (confirm)
16 confirm.m_OnActivated.Insert(OnConfirmCalibrate);
17 }
18
19 //------------------------------------------------------------------------------------------------
20 void OnConfirmCalibrate()
21 {
23 Close();
24 }
25}
26
28{
31 bool calibrating = false;
32
33 //------------------------------------------------------------------------------------------------
35 {
36 SCR_ConfigurableDialogUi.CreateFromPreset(SCR_CommonDialogs.DIALOGS_CONFIG, "calibrate_motion_control_process", this);
37
38 m_ConfirmButton = FindButton("confirm");
40 m_ConfirmButton.SetVisible(false);
41
42 m_Binding = GetGame().GetInputManager().CreateUserBinding();
43 if (!m_Binding)
44 {
45 Print("SCR_MotionControlCalibrationProcessDialog: InputBindings were not created!", LogLevel.WARNING);
46 OnResult(false);
47 return;
48 }
49
50 m_Binding.StartCalibration(EInputDeviceType.GYRO);
51 calibrating = true;
52 }
53
54 override void OnCancel()
55 {
56 calibrating = false;
57 m_Binding.StopCalibration();
58 Close();
59 }
60
61 override void OnMenuUpdate(float tDelta)
62 {
63 if (calibrating)
64 {
65 EInputBindingCalibrationStatus status = m_Binding.GetCalibrationStatus();
66 if (status != EInputBindingCalibrationStatus.CALIBRATING && status != EInputBindingCalibrationStatus.IDLE)
67 {
68 calibrating = false;
69 OnResult(status == EInputBindingCalibrationStatus.CALIBRATION_SUCCESS);
70 }
71 }
72 }
73
74 //------------------------------------------------------------------------------------------------
75 void OnResult(bool success)
76 {
78 m_ConfirmButton.SetVisible(true);
79
80 SCR_InputButtonComponent cancel = FindButton("cancel");
81 if (cancel)
82 cancel.SetVisible(false);
83
84 RichTextWidget title = RichTextWidget.Cast(m_wRoot.FindAnyWidget("Title"));
85 if (title)
86 {
87 if (success)
88 title.SetColor(UIColors.CONFIRM);
89 else
90 title.SetColor(UIColors.WARNING);
91 }
92
93 ImageWidget icon = ImageWidget.Cast(m_wRoot.FindAnyWidget("ImgTitleIcon"));
94 if (icon)
95 {
96 if (success)
97 {
98 icon.SetColor(UIColors.CONFIRM);
99 SetTitleIcon("{3262679C50EF4F01}UI/Textures/Icons/icons_wrapperUI.imageset", "check");
100 }
101 else
102 {
103 icon.SetColor(UIColors.WARNING);
104 SetTitleIcon("{3262679C50EF4F01}UI/Textures/Icons/icons_wrapperUI.imageset", "cancel");
105 }
106 }
107
108 RichTextWidget message = RichTextWidget.Cast(m_wRoot.FindAnyWidget("Message"));
109 if (message)
110 {
111 message.SetVisible(true);
112 if (success)
113 message.SetText("#AR-Settings_MotionControlCalibration_ResultSuccess");
114 else
115 message.SetText("#AR-Settings_MotionControlCalibration_ResultFail");
116 }
117 }
118
119
120}
ArmaReforgerScripted GetGame()
Definition game.c:1398
Widget m_wRoot
void OnResult(bool success)
SCR_MotionControlCalibrationPromptDialog m_ConfirmButton
ref InputBinding m_Binding
void SCR_MotionControlCalibrationProcessDialog()
override void OnMenuOpen()
Manages input key bindings, presets, contexts, and device calibration. Provides functions for creatin...
static SCR_ConfigurableDialogUi CreateFromPreset(ResourceName presetsResourceName, string tag, SCR_ConfigurableDialogUi customDialogObj=null)
Creates a dialog from preset.
void OnMenuOpen(SCR_ConfigurableDialogUiPreset preset)
SCR_InputButtonComponent FindButton(string tag)
Returns a button with given tag.
void SetTitleIcon(ResourceName image, string imageName)
Set title icons with custom image.
void OnMenuUpdate(float tDelta)
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
Enum with severity of the logging message.
Definition LogLevel.c:14