147 #ifdef PLATFORM_CONSOLE
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);
220 IngameHud hud = IngameHud.Cast(
mission.GetHud());
223 hud.ShowQuickbarUI(
true);
234 super.OnController( w, control, value );
243 super.OnMouseEnter( w,
x,
y );
266 int selected_item_id = -1;
267 if ( !reset_selection )
272 instance.m_SelectedItem.GetUserData( quickbar_item );
273 selected_item_id = quickbar_item.GetId();
290 int size = player.GetQuickBarSize();
293 for (
int i = 0; i < size; ++i )
295 entity = player.GetQuickBarEntity( i );
308 ItemBase headgear =
ItemBase.Cast(player.FindAttachmentBySlotName(
"Headgear"));
309 ItemBase eyewear =
ItemBase.Cast(player.FindAttachmentBySlotName(
"Eyewear"));
314 entity = headgear.FindAttachmentBySlotName(
"NVG");
324 entity = eyewear.FindAttachmentBySlotName(
"NVG");
330 else if ( eyewear.IsLightSource() && eyewear.HasEnergyManager() && eyewear.GetCompEM().CanWork() )
340 if ( headgear.GetInventory().AttachmentCount() > 0 )
343 for (
int i = 0; i < headgear.GetInventory().AttachmentCount(); i++)
345 attachment =
ItemBase.Cast(headgear.GetInventory().GetAttachmentFromIndex(i));
346 if ( attachment && attachment.IsLightSource() && attachment.HasEnergyManager() && attachment.GetCompEM().CanWork() )
372 int category_item_count;
374 for (
int i = 0; i <
m_Items.Count(); ++i )
381 Widget item_card_widget =
Widget.Cast(
GetGame().GetWorkspace().CreateWidgets(
"gui/layouts/radial_menu/radial_quickbar/radial_quickbar_item_card.layout",
m_ItemCardPanel ) );
382 quickbar_item.SetRadialItemCard( item_card_widget );
388 item_card_widget.SetUserData( quickbar_item );
391 if ( quickbar_item.GetId() == selected_item_id )
395 category_item_count++;
400 if ( category_item_count > 0 )
403 radial_menu.SetRadiusOffset( 0 );
404 radial_menu.SetExecuteDistOffset( 0.5 );
405 radial_menu.SetOffsetFromTop( 0 );
406 radial_menu.SetItemCardRadiusOffset( 0.25 );
407 radial_menu.ActivateControllerTimeout(
false );
416 Widget item_card_widget = quickbar_item.GetRadialItemCard();
419 Widget item_details = item_card_widget.FindAnyWidget(
"ItemDetails" );
424 EntityAI item = quickbar_item.GetItem();
426 Widget quantity_panel = item_card_widget.FindAnyWidget(
"QuantityPanel" );
430 text_widget.SetText( quickbar_item.GetItem().GetDisplayName() );
435 item_preview.
SetView( item.GetViewIndex() );
439 Widget quantity_stack = quantity_panel.FindAnyWidget(
"QuantityStackPanel" );
440 ProgressBarWidget quantity_bar = ProgressBarWidget.Cast( quantity_panel.FindAnyWidget(
"QuantityBar" ) );
445 quantity_panel.Show(
false );
450 quantity_bar.Show(
false );
455 quantity_stack.Show(
true );
460 quantity_stack.Show(
false );
463 float progress_max = quantity_bar.GetMax();
464 int max = item.ConfigGetInt(
"varQuantityMax" );
465 int count = item.ConfigGetInt(
"count" );
475 float value =
Math.
Round( ( quantity / max ) * 100 );
476 quantity_bar.SetCurrent( value );
479 quantity_bar.Show(
true );
483 item_details.Show(
true );
484 item_title.Show(
false );
486 else if ( quickbar_item.GetCategorySwitchID() != -1 )
488 item_title.SetText( quickbar_item.GetItemName() );
490 item_details.Show(
false );
491 item_title.Show(
true );
495 item_title.SetText(
"#container_empty" );
498 item_details.Show(
false );
499 item_title.Show(
true );
512 child_to_destroy = child;
513 child = child.GetSibling();
515 delete child_to_destroy;
591 w.GetUserData( quickbar_item );
594 if (quickbar_item &&
Class.
CastTo(item,quickbar_item.GetItem()))
657 if ( !
GetGame().IsDedicatedServer() )
660 instance.m_SelectedItem.GetUserData( quickbar_item );
676 player.SetQuickBarEntityShortcut(
GetItemToAssign(), quickbar_item.GetId() );
690 else if (quickbar_item.GetCategorySwitchID() != -1)
698 EntityAI item = quickbar_item.GetItem();
703 player.RadialQuickBarSingleUse( quickbar_item.GetId() + 1 );
717 if ( !
GetGame().IsDedicatedServer() )
720 instance.m_SelectedItem.GetUserData( quickbar_item );
725 EntityAI item = quickbar_item.GetItem();
729 player.RadialQuickBarCombine( quickbar_item.GetId() + 1 );
756 if ( Headtorch_ColorBase.Cast(item) )
768 else if ( Mich2001Helmet.Cast(item.GetHierarchyParent()) )
807 Widget toolbarBackSpacer = layoutRoot.FindAnyWidget(
"BackSpacer");
816 if (
GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer() &&
GetGame().GetInput().GetCurrentInputDevice() ==
EInputDeviceType.MOUSE_AND_KEYBOARD)
818 selectAction =
"UAMenuSelect";
819 backAction =
"UAMenuBack";
820 controllerID = EUAINPUT_DEVICE_KEYBOARDMOUSE;
824 selectAction =
"UAUISelect";
825 backAction =
"UAUIBack";
826 controllerID = EUAINPUT_DEVICE_CONTROLLER;
836 super.OnPlayerDeath();
840 MissionGameplay missionGameplay = MissionGameplay.Cast(
g_Game.GetMission());
841 if (missionGameplay && missionGameplay.GetInventory())
843 missionGameplay.HideInventory();
DetachActionData m_ItemName
class ActionTargets ActionTarget
class ServerBrowserHelperFunctions m_Id
void PerformActionStart(ActionBase action, ActionTarget target, ItemBase item, Param extra_data=NULL)
proto native UIManager GetUIManager()
proto native WorkspaceWidget GetWorkspace()
proto native Mission GetMission()
Super root of all classes in Enforce script.
ScriptInvoker GetOnInputPresetChanged()
void RemoveActiveInputExcludes(array< string > excludes, bool bForceSupress=false)
deprecated
static float GetItemQuantity(InventoryItem item)
static int HasItemQuantity(notnull EntityAI item)
static string GetItemQuantityText(EntityAI item, bool showMax=false)
proto bool Insert(func fn, int flags=EScriptInvokerInsertFlags.IMMEDIATE)
insert method to list
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.
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
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.