33 m_EmoteClass = player.GetEmoteManager().GetNameEmoteMap().Get(
id);
49 if (button_map && button_map.Count() > 0)
52 for (
int j = 0; j < button_map.Count(); j++)
59 buttons = button_map.GetElement(j);
60 for (
int i = 0; i < buttons.Count(); i++)
115 const string RADIAL_TEXT =
"RadialText";
116 const string GESTURE_TEXT =
"GestureNameText";
117 const string INPUT_TEXT =
"InputActionText";
118 const string CATEGORY_NAME =
"CategoryName";
147 GetGame().GetMission().RemoveActiveInputExcludes({
"radialmenu"},
false);
162 instance.OnMenuRelease();
164 GetGame().GetUIManager().Back();
185 #ifdef PLATFORM_CONSOLE
195 m_CurrentCategory = -1;
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 );
201 RadialMenu.GetInstance().RegisterClass(
this );
204 RadialMenu.GetInstance().SetWidgetInitialized(
false);
207 RadialMenu.GetInstance().SetWidgetProperties(
"gui/layouts/radial_menu/radial_gestures/day_z_gesture_delimiter.layout" );
212 m_ToolbarPanel = layoutRoot.FindAnyWidget(
"toolbar_bg" );
213 m_ToolbarPanel.Show(
true );
216 UpdateCategoryName(
"" );
228 IngameHud hud = IngameHud.Cast(
mission.GetHud());
231 hud.ShowQuickbarUI(
false);
235 SetFocus(layoutRoot);
236 m_IsMenuClosing =
false;
246 IngameHud hud = IngameHud.Cast(
mission.GetHud());
249 hud.ShowQuickbarUI(
true);
253 m_IsMenuClosing =
true;
258 super.OnController( w, control, value );
267 super.OnMouseEnter( w,
x,
y );
286 super.Update(timeslice);
290 if (m_CurrentCategory !=
GestureCategories.CATEGORIES && m_CurrentCategory != -1 && player)
292 for (
int i = 0; i < m_GestureItems.Count(); i++)
294 UpdateQuickbarItemCard(m_GestureItems[i]);
302 if (player && m_CurrentCategory != -1)
304 bool can = player.GetEmoteManager().CanPlayEmote(gesture_item.GetID()) && !player.GetEmoteManager().IsEmotePlaying();
305 gesture_item.SetCanPerformEmote(can);
315 if ( category_id > -1 )
317 GetGestureItems( m_GestureItems, category_id);
318 m_CurrentCategory = category_id;
323 m_CurrentCategory = -1;
324 instance.m_IsCategorySelected =
false;
327 CreateGestureContent();
333 gesture_items.Clear();
405 DeleteGestureItems();
407 for (
int i = 0; i < m_GestureItems.Count(); ++i )
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 );
416 UpdateQuickbarItemCard( gesture_item );
419 gesture_item_card_widget.SetUserData( gesture_item );
423 if ( m_GestureItems.Count() > 0 )
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 );
439 Widget gesture_item_card_widget = gesture_item.GetRadialItemCard();
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)
448 input_text.SetText(gesture_item.GetBoundButtonText());
451 ProcessEmoteConditionRequest(gesture_item);
452 if (gesture_item.GetCanPerformEmote())
454 gesture_item_card_widget.SetFlags(
WidgetFlags.DISABLED);
455 gesture_text.SetColor(
ARGB(255,255,255,255));
456 input_text.SetColor(
ARGB(255,255,255,255));
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));
469 Widget child_to_destroy;
471 child = m_GestureItemCardPanel.GetChildren();
474 child_to_destroy = child;
475 child = child.GetSibling();
477 delete child_to_destroy;
486 if ( !m_CategoryNameText )
488 m_CategoryNameText = TextWidget.Cast( layoutRoot.FindAnyWidget( CATEGORY_NAME ) );
491 m_CategoryNameText.SetText(
name );
520 if (instance.m_IsCategorySelected)
522 ExecuteSelectedItem();
526 ExecuteSelectedCategory( w );
553 if (instance.m_IsCategorySelected)
555 ExecuteSelectedItem();
559 ExecuteSelectedCategory( w );
571 instance.m_SelectedItem = w;
576 w.GetUserData( gesture_item );
592 instance.m_SelectedItem = NULL;
597 w.GetUserData( gesture_item );
617 w.GetUserData( gesture_item );
620 if ( !instance.m_IsCategorySelected && gesture_item.GetCategory() ==
GestureCategories.CATEGORIES )
623 instance.m_IsCategorySelected =
true;
626 GetGestureItems( m_GestureItems, gesture_item.GetID() );
627 CreateGestureContent();
628 RefreshGestures( gesture_item.GetID() );
631 UpdateCategoryName( gesture_item.GetName() );
642 if ( instance.m_IsCategorySelected && instance.m_SelectedItem )
644 if ( !
GetGame().IsDedicatedServer() )
649 instance.m_SelectedItem.GetUserData( gesture_item );
653 if( player.GetEmoteManager() )
655 player.GetEmoteManager().CreateEmoteCBFromMenu( gesture_item.GetID() );
666 UpdateCategoryName(
"" );
671 return m_IsMenuClosing;
676 m_IsMenuClosing = state;
681 Widget toolbarBackSpacer = layoutRoot.FindAnyWidget(
"BackSpacer");
690 if (
GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer() &&
GetGame().GetInput().GetCurrentInputDevice() ==
EInputDeviceType.MOUSE_AND_KEYBOARD)
692 selectAction =
"UAMenuSelect";
693 backAction =
"UAMenuBack";
694 controllerID = EUAINPUT_DEVICE_KEYBOARDMOUSE;
698 selectAction =
"UAUISelect";
699 backAction =
"UAUIBack";
700 controllerID = EUAINPUT_DEVICE_CONTROLLER;
705 toolbarBackSpacer.Show(instance.m_IsCategorySelected);
void OnInputPresetChanged()
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
Super root of all classes in Enforce script.
string GetInputActionName()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
int GetID()
Get the ID registered in SEffectManager.
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
proto native CGame GetGame()
string m_Category
folder structure eg. StaticEntities/Walls
int ARGB(int a, int r, int g, int b)