49 float text_widget_pos_x, text_widget_pos_y;
50 float text_widget_width, text_widget_height;
51 float dot_pos_x, dot_pos_y;
52 float dot_width, dot_height;
53 float draw_pos_x, draw_pos_y;
55 CanvasWidget canvas_widget = CanvasWidget.Cast(layoutRoot.FindAnyWidget(
"CanvasWidget_" + index));
56 canvas_widget.Clear();
62 for (
int j = 0; j < 20; j++)
64 tab_array[i].Insert(null);
69 for (i = 0; i < control_mapping_info.Count(); i++)
76 for (
int l = 0; l < control_mapping_info.Count(); l++)
85 if (!button_marker_groups_unflitred.Contains(button_name))
87 button_marker_groups_unflitred.Insert(button_name,
new array<int>);
88 button_marker_groups_unflitred.Get(button_name).Insert(text_widget_id);
92 button_marker_groups_unflitred.Get(button_name).Insert(text_widget_id);
97 for (l = 0; l < button_marker_groups_unflitred.Count(); l++)
99 if (button_marker_groups_unflitred.GetElement(l).Count() > 1)
101 string key = button_marker_groups_unflitred.GetKey(l);
102 button_marker_groups.Insert(button_marker_groups_unflitred.GetKey(l), button_marker_groups_unflitred.Get(key));
108 #ifdef PLATFORM_MSSTORE
109 controls_image = layoutRoot.FindAnyWidget(
"XboxControlsImage");
112 controls_image = layoutRoot.FindAnyWidget(
"XboxControlsImage");
115 controls_image = layoutRoot.FindAnyWidget(
"PSControlsImage");
120 Widget child = controls_image.GetChildren();
122 while (child.GetSibling())
124 child = child.GetSibling();
129 Widget button_marker_widget;
131 for (l = 0; l < tab_array[index].Count(); l++)
133 panel_widget = layoutRoot.FindAnyWidget(
"PanelWidget" + l);
134 if (tab_array[index][l] != null)
139 #ifdef PLATFORM_MSSTORE
140 key_prefix =
"xb_button_marker_";
143 key_prefix =
"xb_button_marker_";
146 key_prefix =
"ps_button_marker_";
151 button_marker_widget = layoutRoot.FindAnyWidget(key_prefix + tab_array[index][l].m_ButtonName);
152 text_widget.SetText(tab_array[index][l].m_InfoText);
153 panel_widget.Show(
true);
154 button_marker_widget.Show(
true);
155 panel_widget.Update();
156 if (!button_marker_groups.Contains(tab_array[index][l].m_ButtonName))
158 panel_widget.GetScreenPos(text_widget_pos_x, text_widget_pos_y);
159 panel_widget.GetScreenSize(text_widget_width,text_widget_height);
161 button_marker_widget.GetScreenPos(dot_pos_x, dot_pos_y);
162 button_marker_widget.GetScreenSize(dot_width, dot_height);
164 draw_pos_y = text_widget_pos_y + text_widget_height / 2;
167 draw_pos_x = text_widget_pos_x + text_widget_width - 1;
171 draw_pos_x = text_widget_pos_x;
173 canvas_widget.DrawLine(draw_pos_x, draw_pos_y, dot_pos_x+dot_width/2, draw_pos_y, 2,
ARGBF(0.6, 1, 1, 1));
174 canvas_widget.DrawLine(dot_pos_x+dot_width/2, draw_pos_y, dot_pos_x+dot_width/2, dot_pos_y+dot_height/2, 2,
ARGBF(0.6, 1, 1, 1));
179 panel_widget.Show(
false);
181 panel_widget.Update();
185 for (l = 0; l < button_marker_groups.Count(); l++)
187 text_widget_pos_x = 0;
188 text_widget_pos_y = 0;
189 text_widget_width = 0;
190 text_widget_height = 0;
191 float group_point_x = 0, group_point_y = 0;
192 float first_x = 0, first_y = 0;
194 ref
array<int> element = button_marker_groups.GetElement(l);
195 string key_name = button_marker_groups.GetKey(l);
197 #ifdef PLATFORM_MSSTORE
198 key_prefix =
"xb_button_marker_";
201 key_prefix =
"xb_button_marker_";
204 key_prefix =
"ps_button_marker_";
208 button_marker_widget = layoutRoot.FindAnyWidget(key_prefix + key_name);
210 for (
int g = 0; g < element.Count(); g++)
212 panel_widget = layoutRoot.FindAnyWidget(
"PanelWidget" + element[g]);
214 panel_widget.GetScreenPos(text_widget_pos_x, text_widget_pos_y);
215 panel_widget.GetScreenSize(text_widget_width, text_widget_height);
221 first_x = text_widget_pos_x + text_widget_width +50;
225 first_x = text_widget_pos_x - 50;
228 first_y = text_widget_pos_y + text_widget_height/2;
231 group_point_x += text_widget_pos_x;
232 group_point_y += text_widget_pos_y;
235 canvas_widget.DrawLine(text_widget_pos_x + text_widget_width - 1, text_widget_pos_y + text_widget_height/2, text_widget_pos_x + text_widget_width +50, text_widget_pos_y + text_widget_height/2, 2,
ARGBF(0.6, 1, 1, 1));
239 canvas_widget.DrawLine(text_widget_pos_x, text_widget_pos_y + text_widget_height/2, text_widget_pos_x - 50, text_widget_pos_y + text_widget_height/2, 2,
ARGBF(0.6, 1, 1, 1));
244 group_point_x = group_point_x/element.Count() + text_widget_width + 50;
248 group_point_x = group_point_x/element.Count() - 50;
251 if (element.Count() % 2 == 0)
253 group_point_y = ((text_widget_pos_y + text_widget_height/2) - first_y) / 2 + first_y;
257 float text_widget_pos_x_center, text_widget_pos_y_center;
258 float text_widget_width_center, text_widget_height_center;
260 panel_widget = layoutRoot.FindAnyWidget(
"PanelWidget" + element[1]);
262 panel_widget.GetScreenPos(text_widget_pos_x_center, text_widget_pos_y_center);
263 panel_widget.GetScreenSize(text_widget_width_center, text_widget_height_center);
265 group_point_y = text_widget_pos_y_center + text_widget_height_center / 2;
268 button_marker_widget.GetScreenPos(dot_pos_x, dot_pos_y);
269 button_marker_widget.GetScreenSize(dot_width, dot_height);
271 canvas_widget.
DrawLine(group_point_x, group_point_y, dot_pos_x+dot_width/2, group_point_y, 2,
ARGBF(0.6, 1, 1, 1));
272 canvas_widget.DrawLine(dot_pos_x+dot_width/2, group_point_y, dot_pos_x+dot_width/2, dot_pos_y, 2,
ARGBF(0.6, 1, 1, 1));
276 canvas_widget.DrawLine(first_x, first_y, text_widget_pos_x + text_widget_width +50, text_widget_pos_y + text_widget_height/2, 2,
ARGBF(0.6, 1, 1, 1));
280 canvas_widget.DrawLine(first_x, first_y, text_widget_pos_x - 50, text_widget_pos_y + text_widget_height/2, 2,
ARGBF(0.6, 1, 1, 1));