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