DayZ 1.24
Loading...
Searching...
No Matches
GesturesMenu.c
Go to the documentation of this file.
11
13{
14 protected int m_ID;
15 protected string m_Name;
18 protected bool m_CanPerformEmote;
19 //radial menu
22
24 {
25 m_ID = id;
26 m_Name = name;
28 m_CanPerformEmote = true;
29
32 m_EmoteClass = player.GetEmoteManager().GetNameEmoteMap().Get(id);
33 }
34
35 string GetName()
36 {
37 return m_Name;
38 }
39
41 {
42 string ret = "";
43 if (GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer() && m_EmoteClass && m_EmoteClass.GetInputActionName() != "")
44 {
46
47 if (button_map && button_map.Count() > 0)
48 {
50 for (int j = 0; j < button_map.Count(); j++)
51 {
52 if (j > 0)
53 ret += "; ";
54
55 buttons = button_map.GetElement(j);
56 for (int i = 0; i < buttons.Count(); i++)
57 {
58 if (i > 0)
59 ret += " + ";
60 ret += buttons[i];
61 }
62 }
63
64 }
65 }
66 return ret;
67 }
68
69 int GetID()
70 {
71 return m_ID;
72 }
73
78
83
88
90 {
92 }
93
95 {
96 return m_CanPerformEmote;
97 }
98}
99
100class GesturesMenu extends UIScriptedMenu
101{
105
107
108 //
109 const string RADIAL_TEXT = "RadialText";
110 const string GESTURE_TEXT = "GestureNameText";
111 const string INPUT_TEXT = "InputActionText";
112 const string CATEGORY_NAME = "CategoryName";
113 //selections
115 protected bool m_IsCategorySelected;
116 protected bool m_IsMenuClosing;
117 protected int m_CurrentCategory;
118
119 //instance
120 static GesturesMenu instance;
121
122 //============================================
123 // GesturesMenu
124 //============================================
126 {
127 m_GestureItems = new ref array<ref GestureMenuItem>;
128
129 if (!instance)
130 instance = this;
131
132 GetGame().GetMission().GetOnInputPresetChanged().Insert(OnInputPresetChanged);
133 }
134
136 {
137 if (GetGame() && GetGame().GetMission())
138 {
139 GetGame().GetMission().RemoveActiveInputExcludes({"radialmenu"}, false);
140 }
141 }
142
143 //============================================
144 // Menu Controls
145 //============================================
146 static void OpenMenu()
147 {
148 GetGame().GetUIManager().EnterScriptedMenu(MENU_GESTURES, NULL);
149 }
150
151 static void CloseMenu()
152 {
153 //execute on menu release
154 instance.OnMenuRelease();
155
156 GetGame().GetUIManager().Back();
157
158 //GetGame().GetMission().RemoveActiveInputExcludes({"radialmenu"},false);
159 }
160
161 protected void OnInputPresetChanged()
162 {
163#ifdef PLATFORM_CONSOLE
165#endif
166 }
167
168 //============================================
169 // Init & Widget Events
170 //============================================
171 override Widget Init()
172 {
173 m_CurrentCategory = -1;
174
175 layoutRoot = GetGame().GetWorkspace().CreateWidgets("gui/layouts/radial_menu/radial_gestures/day_z_gestures.layout");
176 m_GestureItemCardPanel = layoutRoot.FindAnyWidget(RadialMenu.RADIAL_ITEM_CARD_CONTAINER);
177
178 //register gestures menu
179 RadialMenu.GetInstance().RegisterClass(this);
180
181 //delay updates until fully initialized
182 RadialMenu.GetInstance().SetWidgetInitialized(false);
183
184 //set radial menu properties
185 RadialMenu.GetInstance().SetWidgetProperties("gui/layouts/radial_menu/radial_gestures/day_z_gesture_delimiter.layout");
186
187 //create content (widgets) for items
188 RefreshGestures();
189
190 m_ToolbarPanel = layoutRoot.FindAnyWidget("toolbar_bg");
191 m_ToolbarPanel.Show(true);
192
193 //clear category name text
194 UpdateCategoryName("");
195
196 return layoutRoot;
197 }
198
199 override void OnShow()
200 {
201 super.OnShow();
202
203 Mission mission = GetGame().GetMission();
204 if (mission)
205 {
206 IngameHud hud = IngameHud.Cast(mission.GetHud());
207 if (hud)
208 hud.ShowQuickbarUI(false);
209 }
210
211 SetFocus(layoutRoot);
212 m_IsMenuClosing = false;
213 }
214
215 override void OnHide()
216 {
217 super.OnHide();
218
219 Mission mission = GetGame().GetMission();
220 if (mission)
221 {
222 IngameHud hud = IngameHud.Cast(mission.GetHud());
223 if (hud)
224 hud.ShowQuickbarUI(true);
225 }
226
227 m_IsMenuClosing = true;
228 }
229
230 override bool OnController(Widget w, int control, int value)
231 {
232 super.OnController(w, control, value);
233
234 RadialMenu.GetInstance().SetControlType(RadialMenuControlType.CONTROLLER);
235
236 return false;
237 }
238
239 override bool OnMouseEnter(Widget w, int x, int y)
240 {
241 super.OnMouseEnter(w, x, y);
242
243 RadialMenu.GetInstance().SetControlType(RadialMenuControlType.MOUSE);
244
245 return false;
246 }
247
248 override bool UseMouse()
249 {
250 return true;
251 }
252
253 override bool UseGamepad()
254 {
255 return true;
256 }
257
258 override void Update(float timeslice)
259 {
260 super.Update(timeslice);
261
262 //RefreshGestures(m_CurrentCategory);
264 if (m_CurrentCategory != GestureCategories.CATEGORIES && m_CurrentCategory != -1 && player)
265 {
266 for (int i = 0; i < m_GestureItems.Count(); i++)
267 UpdateQuickbarItemCard(m_GestureItems[i]);
268 }
269 }
270
272 {
274 if (player && m_CurrentCategory != -1)
275 {
276 bool can = player.GetEmoteManager().CanPlayEmote(gesture_item.GetID()) && !player.GetEmoteManager().IsEmotePlaying();
277 gesture_item.SetCanPerformEmote(can);
278 }
279 }
280
281 //============================================
282 // Gestures
283 //============================================
285 {
286 //create gestures content (widgets) based on categories
287 if (category_id > -1)
288 {
289 GetGestureItems(m_GestureItems, category_id);
290 m_CurrentCategory = category_id;
291 }
292 else
293 {
294 GetGestureItems(m_GestureItems, GestureCategories.CATEGORIES);
295 m_CurrentCategory = -1;
296 instance.m_IsCategorySelected = false;
297 }
298
299 CreateGestureContent();
301 }
302
304 {
305 gesture_items.Clear();
306
307 //PC PLATFORM
308 //All categories
309 if (category == GestureCategories.CATEGORIES)
310 {
311 gesture_items.Insert(new GestureMenuItem(GestureCategories.CATEGORY_1, "#STR_USRACT_EMOTE_CATEGORY_COMMS", category));
312 gesture_items.Insert(new GestureMenuItem(GestureCategories.CATEGORY_2, "#STR_USRACT_EMOTE_CATEGORY_INTERACTIONS", category));
313 gesture_items.Insert(new GestureMenuItem(GestureCategories.CATEGORY_3, "#STR_USRACT_EMOTE_CATEGORY_POSES", category));
314 gesture_items.Insert(new GestureMenuItem(GestureCategories.CATEGORY_4, "#STR_USRACT_EMOTE_CATEGORY_MISC", category));
315 }
316 //Category 1 - commands
317 else if (category == GestureCategories.CATEGORY_1)
318 {
319 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_POINT, "#STR_USRACT_ID_EMOTE_POINT", category));
320 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_MOVE, "#STR_USRACT_ID_EMOTE_MOVE", category));
321 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_HOLD, "#STR_USRACT_ID_EMOTE_HOLD", category));
322 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_LISTENING, "#STR_USRACT_ID_EMOTE_LISTENING", category));
323 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_DOWN, "#STR_USRACT_ID_EMOTE_DOWN", category));
324 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_SILENT, "#STR_USRACT_ID_EMOTE_SILENT", category));
325 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_WATCHING, "#STR_USRACT_ID_EMOTE_WATCHING", category));
326 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_POINTSELF, "#STR_USRACT_ID_EMOTE_POINTSELF", category));
327 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_COME, "#STR_USRACT_ID_EMOTE_COME", category));
328 }
329 //Category 2 - interaction
330 else if (category == GestureCategories.CATEGORY_2)
331 {
332 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_GREETING, "#STR_USRACT_ID_EMOTE_GREETING", category));
333 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_TAUNT, "#STR_USRACT_ID_EMOTE_TAUNT", category));
334 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_SHAKE, "#STR_USRACT_ID_EMOTE_SHAKE", category));
335 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_NOD, "#STR_USRACT_ID_EMOTE_NOD", category));
336 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_LOOKATME, "#STR_USRACT_ID_EMOTE_LOOKATME", category));
337 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_TAUNTELBOW, "#STR_USRACT_ID_EMOTE_TAUNTELBOW", category));
338 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_THUMB, "#STR_USRACT_ID_EMOTE_THUMB", category));
339 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_THUMBDOWN, "#STR_USRACT_ID_EMOTE_THUMBDOWN", category));
340 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_CLAP, "#STR_USRACT_ID_EMOTE_CLAP", category));
341 }
342 //Category 3 - poses
343 else if (category == GestureCategories.CATEGORY_3)
344 {
345 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_SUICIDE, "#STR_USRACT_ID_EMOTE_SUICIDE", category));
346 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_SURRENDER, "#STR_USRACT_ID_EMOTE_SURRENDER", category));
347 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_SALUTE, "#STR_USRACT_ID_EMOTE_SALUTE", category));
348 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_SITB, "#STR_USRACT_ID_EMOTE_SITB", category));
349 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_LYINGDOWN, "#STR_USRACT_ID_EMOTE_LYINGDOWN", category));
350 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_SITA, "#STR_USRACT_ID_EMOTE_SITA", category));
351 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_CAMPFIRE, "#STR_USRACT_ID_EMOTE_CAMPFIRE", category));
352 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_SHRUG, "#STR_USRACT_ID_EMOTE_SHRUG", category));
353 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_SOS, "#STR_USRACT_ID_EMOTE_SOS", category));
354 }
355 //Category 4 - special
356 else if (category == GestureCategories.CATEGORY_4)
357 {
358 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_DANCE, "#STR_USRACT_ID_EMOTE_DANCE", category));
359 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_HEART, "#STR_USRACT_ID_EMOTE_HEART", category));
360 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_FACEPALM, "#STR_USRACT_ID_EMOTE_FACEPALM", category));
361 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_TIMEOUT, "#STR_USRACT_ID_EMOTE_TIMEOUT", category));
362 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_THROAT, "#STR_USRACT_ID_EMOTE_THROAT", category));
363 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_VOMIT, "#STR_USRACT_ID_EMOTE_VOMIT", category));
364 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_RPS, "#STR_USRACT_ID_EMOTE_RPS", category));
365 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_TAUNTTHINK, "#STR_USRACT_ID_EMOTE_TAUNTTHINK", category));
366 gesture_items.Insert(new GestureMenuItem(EmoteConstants.ID_EMOTE_TAUNTKISS, "#STR_USRACT_ID_EMOTE_TAUNTKISS", category));
367 //gesture_items.Insert( new GestureMenuItem( EmoteConstants.ID_EMOTE_RPS_R, "#STR_USRACT_ID_EMOTE_RPS_R", category ) );
368 //gesture_items.Insert( new GestureMenuItem( EmoteConstants.ID_EMOTE_RPS_P, "#STR_USRACT_ID_EMOTE_RPS_P", category ) );
369 //gesture_items.Insert( new GestureMenuItem( EmoteConstants.ID_EMOTE_RPS_S, "#STR_USRACT_ID_EMOTE_RPS_S", category ) );
370 //gesture_items.Insert( new GestureMenuItem( EmoteConstants.ID_EMOTE_DEBUG, "ID_EMOTE_DEBUG", category ) );
371 }
372 }
373
374 protected void CreateGestureContent()
375 {
376 //delete existing gesture widgets
377 DeleteGestureItems();
378
379 for (int i = 0; i < m_GestureItems.Count(); ++i)
380 {
381 GestureMenuItem gesture_item = m_GestureItems.Get(i);
382
383 //create item card
384 Widget gesture_item_card_widget = Widget.Cast(GetGame().GetWorkspace().CreateWidgets("gui/layouts/radial_menu/radial_gestures/day_z_gesture_item_card.layout", m_GestureItemCardPanel));
385 gesture_item.SetRadialItemCard(gesture_item_card_widget);
386
387 //update item card widget
388 UpdateQuickbarItemCard(gesture_item);
389
390 //set data
392 }
393
394 //set radial parameters for content
395 if (m_GestureItems.Count() > 0)
396 {
397 RadialMenu radial_menu = RadialMenu.GetInstance();
398 radial_menu.SetRadiusOffset(0);
399 radial_menu.SetExecuteDistOffset(0.5);
400 radial_menu.SetOffsetFromTop(0);
401 radial_menu.SetItemCardRadiusOffset(0.25);
402 radial_menu.ActivateControllerTimeout(false);
403 }
404
405 //refresh radial menu
406 RadialMenu.GetInstance().Refresh();
407 }
408
410 {
411 Widget gesture_item_card_widget = gesture_item.GetRadialItemCard();
412 //texts
413 RichTextWidget gesture_text = RichTextWidget.Cast(gesture_item_card_widget.FindAnyWidget(GESTURE_TEXT));
414 RichTextWidget input_text = RichTextWidget.Cast(gesture_item_card_widget.FindAnyWidget(INPUT_TEXT));
415 gesture_text.SetText(gesture_item.GetName());
416 bool input_name_available = gesture_item.GetBoundButtonText() != "";
419 input_text.SetText(gesture_item.GetBoundButtonText());
420 //coloring
421 ProcessEmoteConditionRequest(gesture_item);
422 if (gesture_item.GetCanPerformEmote())
423 {
424 gesture_item_card_widget.SetFlags(WidgetFlags.DISABLED); //flag just seems to be...'there', useful for showing radial selector. Still...
425 gesture_text.SetColor(ARGB(255, 255, 255, 255));
426 input_text.SetColor(ARGB(255, 255, 255, 255));
427 }
428 else
429 {
430 gesture_item_card_widget.ClearFlags(WidgetFlags.DISABLED);
431 gesture_text.SetColor(ARGB(255, 150, 150, 150));
432 input_text.SetColor(ARGB(255, 150, 150, 150));
433 }
434 }
435
436 protected void DeleteGestureItems()
437 {
440
441 child = m_GestureItemCardPanel.GetChildren();
442 while (child)
443 {
445 child = child.GetSibling();
446
447 delete child_to_destroy;
448 }
449 }
450
452 protected void UpdateToolbar() {}
453
454 protected void UpdateCategoryName(string name)
455 {
456 if (!m_CategoryNameText)
457 m_CategoryNameText = TextWidget.Cast(layoutRoot.FindAnyWidget(CATEGORY_NAME));
458
459 m_CategoryNameText.SetText(name);
460 }
461
462 //============================================
463 // Radial Menu Events
464 //============================================
465 //Common
469
470 //Mouse
472 {
473 MarkSelected(w);
474 }
475
477 {
478 UnmarkSelected(w);
479 }
480
482 {
483 }
484
487 {
488 if (instance.m_IsCategorySelected)
489 ExecuteSelectedItem();
490 else
491 ExecuteSelectedCategory(w);
492 }
493
496 {
497 BackOneLevel();
498 }
499
500 //Controller
502 {
503 MarkSelected(w);
504 }
505
507 {
508 UnmarkSelected(w);
509 }
510
512 {
513 }
514
516 {
517 if (instance.m_IsCategorySelected)
518 ExecuteSelectedItem();
519 else
520 ExecuteSelectedCategory(w);
521 }
522
524 {
525 BackOneLevel();
526 }
527
528 //Actions
529 protected void MarkSelected(Widget w)
530 {
531 instance.m_SelectedItem = w;
532
533 if (w)
534 {
536 w.GetUserData(gesture_item);
537
538 //is not category
539 /*
540 if ( gesture_item && gesture_item.GetCategory() != GestureCategories.CATEGORIES )
541 {
542 //alter item visual
543 //TextWidget text_widget = TextWidget.Cast( gesture_item.GetRadialItemCard().FindAnyWidget( RADIAL_TEXT ) );
544 //text_widget.SetColor( ARGB( 255, 66, 175, 95 ) );
545 }
546 */
547 }
548 }
549
550 protected void UnmarkSelected(Widget w)
551 {
552 instance.m_SelectedItem = NULL;
553
554 if (w)
555 {
557 w.GetUserData(gesture_item);
558
559 //is not category
560 /*
561 if ( gesture_item && gesture_item.GetCategory() != GestureCategories.CATEGORIES )
562 {
563 //alter item visual
564 //TextWidget text_widget = TextWidget.Cast( gesture_item.GetRadialItemCard().FindAnyWidget( RADIAL_TEXT ) );
565 //text_widget.SetColor( ARGB( 255, 255, 255, 255 ) );
566 }
567 */
568 }
569 }
570
572 {
573 //only when category is not picked yet
574 if (w)
575 {
577 w.GetUserData(gesture_item);
578
579 //is category
580 if (!instance.m_IsCategorySelected && gesture_item.GetCategory() == GestureCategories.CATEGORIES)
581 {
582 //set category selected
583 instance.m_IsCategorySelected = true;
584
585 //show selected category gestures
586 GetGestureItems(m_GestureItems, gesture_item.GetID());
587 CreateGestureContent();
588 RefreshGestures(gesture_item.GetID());
589
590 //update category name text
591 UpdateCategoryName(gesture_item.GetName());
592 }
593 /*else
594 {
595 ExecuteSelectedItem();
596 }*/
597 }
598 }
599
600 protected void ExecuteSelectedItem()
601 {
602 if (instance.m_IsCategorySelected && instance.m_SelectedItem)
603 {
604 if (!GetGame().IsDedicatedServer())
605 {
607
609 instance.m_SelectedItem.GetUserData(gesture_item);
610
611 if (gesture_item)
612 {
613 if (player.GetEmoteManager())
614 player.GetEmoteManager().CreateEmoteCBFromMenu(gesture_item.GetID());
615 }
616 }
617 }
618 }
619
620 //only moves to the GestureCategories.CATEGORIES for now
621 protected void BackOneLevel()
622 {
623 RefreshGestures();
624 UpdateCategoryName("");
625 }
626
628 {
629 return m_IsMenuClosing;
630 }
631
633 {
634 m_IsMenuClosing = state;
635 }
636
637 protected void UpdateControlsElements()
638 {
639 Widget toolbarBackSpacer = layoutRoot.FindAnyWidget("BackSpacer");
640
641 RichTextWidget toolbarSelectIcon = RichTextWidget.Cast(layoutRoot.FindAnyWidget("SelectIcon"));
642 RichTextWidget toolbarBackIcon = RichTextWidget.Cast(layoutRoot.FindAnyWidget("BackIcon"));
643
644 string selectAction;
645 string backAction;
646 int controllerID;
647
648 if (GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer() && GetGame().GetInput().GetCurrentInputDevice() == EInputDeviceType.MOUSE_AND_KEYBOARD)
649 {
650 selectAction = "UAMenuSelect";
651 backAction = "UAMenuBack";
653 }
654 else
655 {
656 selectAction = "UAUISelect";
657 backAction = "UAUIBack";
659 }
660
663 toolbarBackSpacer.Show(instance.m_IsCategorySelected);
664 }
665
666 //-----------------------------------------------------------------
668 protected void OnMenuRelease();
669}
void OnInputPresetChanged()
Definition Inventory.c:160
ActionInput GetInput()
Definition ActionBase.c:989
string m_Name
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
Mission mission
int GetID()
Get the ID registered in SEffectManager.
Definition Effect.c:517
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Definition Effect.c:49
EmoteBase m_EmoteClass
Widget m_RadialMenuSelector
GestureCategories
Definition GesturesMenu.c:2
@ CATEGORY_5
Definition GesturesMenu.c:8
@ CATEGORIES
Definition GesturesMenu.c:3
@ CATEGORY_4
Definition GesturesMenu.c:7
@ CATEGORY_1
Definition GesturesMenu.c:4
@ CONSOLE_GESTURES
Definition GesturesMenu.c:9
@ CATEGORY_2
Definition GesturesMenu.c:5
@ CATEGORY_3
Definition GesturesMenu.c:6
string GetBoundButtonText()
void SetRadialItemCard(Widget widget)
Widget m_RadialMenuItemCard
bool m_CanPerformEmote
void GestureMenuItem(int id, string name, GestureCategories category)
bool GetCanPerformEmote()
void SetCanPerformEmote(bool state)
Widget GetRadialItemCard()
Icon x
Icon y
void UpdateControlsElements()
PlayerBase GetPlayer()
int GetCategory()
RadialMenuControlType
Definition RadialMenu.c:2
void RadialMenu()
Definition RadialMenu.c:84
Super root of all classes in Enforce script.
Definition EnScript.c:11
string GetInputActionName()
Definition EmoteBase.c:70
static string GetRichtextButtonIconFromInputAction(notnull UAInput pInput, string pLocalizedDescription, int pInputDeviceType=EUAINPUT_DEVICE_CONTROLLER, float pScale=ICON_SCALE_NORMAL, bool pVertical=false)
Definition InputUtils.c:151
static map< int, ref TStringArray > GetComboButtonNamesFromInput(string pInputName, int pInputDeviceType)
returns a map of button names, combo or not
Definition InputUtils.c:31
static const float ICON_SCALE_TOOLBAR
Definition InputUtils.c:15
Mission class.
Definition gameplay.c:668
Hud GetHud()
Definition gameplay.c:701
void ExecuteSelectedCategory(Widget w)
override bool OnMouseEnter(Widget w, int x, int y)
TextWidget m_CategoryNameText
override void OnShow()
void UpdateQuickbarItemCard(GestureMenuItem gesture_item)
void DeleteGestureItems()
override void Update(float timeslice)
static void CloseMenu()
bool m_IsCategorySelected
void UpdateToolbar()
DEPRECATED.
override bool UseMouse()
void RefreshGestures(GestureCategories category_id=-1)
void MarkSelected(Widget w)
Widget m_GestureItemCardPanel
void OnControllerPressSelect(Widget w)
ref array< ref GestureMenuItem > m_GestureItems
void CreateGestureContent()
override void OnHide()
void OnControlsChanged(RadialMenuControlType type)
void OnMousePressRight(Widget w)
RMB.
void OnMouseExecute(Widget w)
void OnControllerDeselect(Widget w)
void ExecuteSelectedItem()
override bool UseGamepad()
void UnmarkSelected(Widget w)
void OnControllerSelect(Widget w)
void UpdateControlsElements()
void GetGestureItems(out ref array< ref GestureMenuItem > gesture_items, GestureCategories category)
static GesturesMenu instance
void OnMouseDeselect(Widget w)
Widget m_SelectedItem
void OnControllerPressBack(Widget w)
override Widget Init()
void ProcessEmoteConditionRequest(GestureMenuItem gesture_item)
void OnMenuRelease()
DEPRECATED.
void UpdateCategoryName(string name)
override bool OnController(Widget w, int control, int value)
void SetMenuClosing(bool state)
void OnMousePressLeft(Widget w)
LMB.
void OnMouseSelect(Widget w)
Widget m_ToolbarPanel
static void OpenMenu()
void OnInputPresetChanged()
void OnControllerExecute(Widget w)
proto native CGame GetGame()
const int ID_EMOTE_LOOKATME
Definition constants.c:378
const int ID_EMOTE_TIMEOUT
Definition constants.c:368
const int ID_EMOTE_SHRUG
Definition constants.c:388
const int ID_EMOTE_VOMIT
Definition constants.c:390
const int ID_EMOTE_CAMPFIRE
Definition constants.c:362
const int ID_EMOTE_RPS
Definition constants.c:373
const int ID_EMOTE_SURRENDER
Definition constants.c:389
const int ID_EMOTE_CLAP
Definition constants.c:369
const int ID_EMOTE_FACEPALM
Definition constants.c:356
const int ID_EMOTE_SITA
Definition constants.c:363
const int ID_EMOTE_POINT
Definition constants.c:370
const int ID_EMOTE_DOWN
Definition constants.c:381
const int ID_EMOTE_THUMB
Definition constants.c:358
const int ID_EMOTE_SILENT
Definition constants.c:371
const int ID_EMOTE_MOVE
Definition constants.c:380
const int ID_EMOTE_POINTSELF
Definition constants.c:377
const int ID_EMOTE_SHAKE
Definition constants.c:387
const int ID_EMOTE_LISTENING
Definition constants.c:376
const int ID_EMOTE_TAUNT
Definition constants.c:353
const int ID_EMOTE_DANCE
Definition constants.c:361
const int ID_EMOTE_WATCHING
Definition constants.c:374
const int ID_EMOTE_GREETING
Definition constants.c:350
const int ID_EMOTE_THROAT
Definition constants.c:359
const int ID_EMOTE_SUICIDE
Definition constants.c:360
const int ID_EMOTE_NOD
Definition constants.c:386
const int ID_EMOTE_HEART
Definition constants.c:352
const int ID_EMOTE_COME
Definition constants.c:382
const int ID_EMOTE_SOS
Definition constants.c:351
const int ID_EMOTE_TAUNTTHINK
Definition constants.c:379
const int ID_EMOTE_SALUTE
Definition constants.c:372
const int ID_EMOTE_HOLD
Definition constants.c:375
const int ID_EMOTE_SITB
Definition constants.c:364
const int ID_EMOTE_LYINGDOWN
Definition constants.c:354
const int ID_EMOTE_TAUNTKISS
Definition constants.c:355
const int ID_EMOTE_THUMBDOWN
Definition constants.c:365
const int ID_EMOTE_TAUNTELBOW
Definition constants.c:357
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
string m_Category
folder structure eg. StaticEntities/Walls
Definition EnEntity.c:841
const int MENU_GESTURES
Definition constants.c:184
WidgetFlags
Definition EnWidgets.c:58
proto native void SetFocus(Widget w)
proto native owned string GetName()
EInputDeviceType
Definition input.c:3
int ARGB(int a, int r, int g, int b)
Definition proto.c:322