126 g_Game.GetMission().RemoveActiveInputExcludes({
"radialmenu"},
false);
147 #ifdef PLATFORM_CONSOLE
162 g_Game.GetUIManager().Back();
171 layoutRoot =
g_Game.GetWorkspace().CreateWidgets(
"gui/layouts/radial_menu/radial_quickbar/radial_quickbar_menu.layout");
178 RadialMenu.GetInstance().SetWidgetInitialized(
false);
181 RadialMenu.GetInstance().SetWidgetProperties(
"gui/layouts/radial_menu/radial_quickbar/radial_quickbar_delimiter.layout");
202 IngameHud hud = IngameHud.Cast(
mission.GetHud());
205 hud.ShowQuickbarUI(
false);
206 hud.ShowHudUI(
false);
221 IngameHud hud = IngameHud.Cast(
mission.GetHud());
224 hud.ShowQuickbarUI(
true);
236 super.OnController( w, control, value );
245 super.OnMouseEnter( w,
x,
y );
268 int selected_item_id = -1;
269 if ( !reset_selection )
274 instance.m_SelectedItem.GetUserData( quickbar_item );
275 selected_item_id = quickbar_item.GetId();
292 int size = player.GetQuickBarSize();
295 for (
int i = 0; i < size; ++i )
297 entity = player.GetQuickBarEntity( i );
310 ItemBase headgear =
ItemBase.Cast(player.FindAttachmentBySlotName(
"Headgear"));
311 ItemBase eyewear =
ItemBase.Cast(player.FindAttachmentBySlotName(
"Eyewear"));
316 entity = headgear.FindAttachmentBySlotName(
"NVG");
326 entity = eyewear.FindAttachmentBySlotName(
"NVG");
332 else if ( eyewear.IsLightSource() && eyewear.HasEnergyManager() && eyewear.GetCompEM().CanWork() )
342 if ( headgear.GetInventory().AttachmentCount() > 0 )
345 for (
int i = 0; i < headgear.GetInventory().AttachmentCount(); i++)
347 attachment =
ItemBase.Cast(headgear.GetInventory().GetAttachmentFromIndex(i));
348 if ( attachment && attachment.IsLightSource() && attachment.HasEnergyManager() && attachment.GetCompEM().CanWork() )
374 int category_item_count;
376 for (
int i = 0; i <
m_Items.Count(); ++i )
383 Widget item_card_widget =
Widget.Cast(
g_Game.GetWorkspace().CreateWidgets(
"gui/layouts/radial_menu/radial_quickbar/radial_quickbar_item_card.layout",
m_ItemCardPanel ) );
384 quickbar_item.SetRadialItemCard( item_card_widget );
390 item_card_widget.SetUserData( quickbar_item );
393 if ( quickbar_item.GetId() == selected_item_id )
397 category_item_count++;
402 if ( category_item_count > 0 )
405 radial_menu.SetRadiusOffset( 0 );
406 radial_menu.SetExecuteDistOffset( 0.5 );
407 radial_menu.SetOffsetFromTop( 0 );
408 radial_menu.SetItemCardRadiusOffset( 0.25 );
409 radial_menu.ActivateControllerTimeout(
false );
418 Widget item_card_widget = quickbar_item.GetRadialItemCard();
421 Widget item_details = item_card_widget.FindAnyWidget(
"ItemDetails" );
426 EntityAI item = quickbar_item.GetItem();
428 Widget quantity_panel = item_card_widget.FindAnyWidget(
"QuantityPanel" );
432 text_widget.SetText( quickbar_item.GetItem().GetDisplayName() );
437 item_preview.
SetView( item.GetViewIndex() );
441 Widget quantity_stack = quantity_panel.FindAnyWidget(
"QuantityStackPanel" );
442 ProgressBarWidget quantity_bar = ProgressBarWidget.Cast( quantity_panel.FindAnyWidget(
"QuantityBar" ) );
447 quantity_panel.Show(
false );
452 quantity_bar.Show(
false );
457 quantity_stack.Show(
true );
462 quantity_stack.Show(
false );
465 float progress_max = quantity_bar.GetMax();
466 int max = item.ConfigGetInt(
"varQuantityMax" );
467 int count = item.ConfigGetInt(
"count" );
477 float value =
Math.
Round( ( quantity / max ) * 100 );
478 quantity_bar.SetCurrent( value );
481 quantity_bar.Show(
true );
485 item_details.Show(
true );
486 item_title.Show(
false );
488 else if ( quickbar_item.GetCategorySwitchID() != -1 )
490 item_title.SetText( quickbar_item.GetItemName() );
492 item_details.Show(
false );
493 item_title.Show(
true );
497 item_title.SetText(
"#container_empty" );
500 item_details.Show(
false );
501 item_title.Show(
true );
514 child_to_destroy = child;
515 child = child.GetSibling();
517 delete child_to_destroy;
593 w.GetUserData( quickbar_item );
596 if (quickbar_item &&
Class.
CastTo(item,quickbar_item.GetItem()))
659 if ( !
g_Game.IsDedicatedServer() )
662 instance.m_SelectedItem.GetUserData( quickbar_item );
678 player.SetQuickBarEntityShortcut(
GetItemToAssign(), quickbar_item.GetId() );
692 else if (quickbar_item.GetCategorySwitchID() != -1)
700 EntityAI item = quickbar_item.GetItem();
705 player.RadialQuickBarSingleUse( quickbar_item.GetId() + 1 );
719 if ( !
g_Game.IsDedicatedServer() )
722 instance.m_SelectedItem.GetUserData( quickbar_item );
727 EntityAI item = quickbar_item.GetItem();
731 player.RadialQuickBarCombine( quickbar_item.GetId() + 1 );
758 if ( Headtorch_ColorBase.Cast(item) )
770 else if ( Mich2001Helmet.Cast(item.GetHierarchyParent()) )
809 Widget toolbarBackSpacer = layoutRoot.FindAnyWidget(
"BackSpacer");
818 if (
g_Game.GetInput().IsEnabledMouseAndKeyboardEvenOnServer() &&
g_Game.GetInput().GetCurrentInputDevice() ==
EInputDeviceType.MOUSE_AND_KEYBOARD)
820 selectAction =
"UAMenuSelect";
821 backAction =
"UAMenuBack";
822 controllerID = EUAINPUT_DEVICE_KEYBOARDMOUSE;
826 selectAction =
"UAUISelect";
827 backAction =
"UAUIBack";
828 controllerID = EUAINPUT_DEVICE_CONTROLLER;
838 super.OnPlayerDeath();
842 MissionGameplay missionGameplay = MissionGameplay.Cast(
g_Game.GetMission());
843 if (missionGameplay && missionGameplay.GetInventory())
845 missionGameplay.HideInventory();
DetachActionData m_ItemName
class ActionTargets ActionTarget
class ServerBrowserHelperFunctions m_Id
void PerformActionStart(ActionBase action, ActionTarget target, ItemBase item, Param extra_data=NULL)
Super root of all classes in Enforce script.
static float GetItemQuantity(InventoryItem item)
static int HasItemQuantity(notnull EntityAI item)
static string GetItemQuantityText(EntityAI item, bool showMax=false)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
const int QUANTITY_PROGRESS
const int QUANTITY_HIDDEN
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
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static proto float Round(float f)
Returns mathematical round of value.