39 #ifndef PLATFORM_CONSOLE
53 #ifdef PLATFORM_CONSOLE
54 m_TooltipWidget =
GetGame().GetWorkspace().CreateWidgets(
"gui/layouts/inventory_new/day_z_inventory_new_tooltip_xbox.layout", root );
55 m_TooltipSlotWidget =
GetGame().GetWorkspace().CreateWidgets(
"gui/layouts/inventory_new/day_z_inventory_new_tooltip_slot_xbox.layout", root );
57 m_TooltipWidget =
GetGame().GetWorkspace().CreateWidgets(
"gui/layouts/inventory_new/day_z_inventory_new_tooltip.layout", root );
58 m_TooltipSlotWidget =
GetGame().GetWorkspace().CreateWidgets(
"gui/layouts/inventory_new/day_z_inventory_new_tooltip_slot.layout", root );
67 Inventory.GetInstance().UpdateConsoleToolbar();
138 icon =
Icon.Cast(selected_icon);
182 GetGame().SetProfileString(
"defaultOpenStateHands", hands_default_open_state.ToString() );
189 GetGame().GetProfileString(
"defaultOpenStateHands", value );
204 if( serialized_types.Count() > 0 )
206 GetGame().SetProfileStringList(
"defaultHeaderOpenStates", serialized_types );
215 GetGame().GetProfileStringList(
"defaultHeaderOpenStates", serialized_types );
217 for(
int i = 0; i < serialized_types.Count(); i++ )
220 serialized_types.Get( i ).Split(
",", strs );
221 bool is_opened = strs.Get( 1 ).ToInt();
236 if( serialized_types.Count() > 0 )
238 GetGame().SetProfileStringList(
"defaultOpenStates", serialized_types );
247 GetGame().GetProfileStringList(
"defaultOpenStates", serialized_types );
249 for(
int i = 0; i < serialized_types.Count(); i++ )
252 serialized_types.Get( i ).Split(
",", strs );
253 bool is_opened = strs.Get( 1 ).ToInt();
293 #ifndef PLATFORM_CONSOLE
304 EntityAI owner = item.GetHierarchyParent();
311 else if (owner && owner != player)
318 item.GetInventory().GetCurrentInventoryLocation(inv_loc_src);
319 int loc_type = inv_loc_src.GetType();
419 switch (pHealthLevel)
424 return Colors.COLOR_PRISTINE;
428 return Colors.COLOR_DAMAGED;
430 return Colors.COLOR_BADLY_DAMAGED;
432 return Colors.COLOR_RUINED;
442 switch (item.GetHealthLevel(zone))
447 return Colors.COLOR_PRISTINE;
451 return Colors.COLOR_DAMAGED;
453 return Colors.COLOR_BADLY_DAMAGED;
455 return Colors.COLOR_RUINED;
464 if( fraction > 1 || fraction < 0 )
466 else if( fraction > 0.80 )
467 return Colors.COLOR_PRISTINE;
468 else if( fraction > 0.6 )
470 else if( fraction > 0.4 )
471 return Colors.COLOR_DAMAGED;
472 else if( fraction > 0.2 )
473 return Colors.COLOR_BADLY_DAMAGED;
475 return Colors.COLOR_RUINED;
483 bool colorSet =
false;
484 string name = item_w.GetName();
485 name.Replace(
"Render",
"Temperature");
486 Widget temperature_widget = item_w.GetParent().FindAnyWidget(
name);
487 if (item && item.IsInherited(
ItemBase) && item.CanHaveTemperature())
489 ObjectTemperatureState temperatureState = ObjectTemperatureState.GetStateData(item.GetTemperature());
493 temperature_widget.SetColor(temperatureState.m_Color);
494 temperature_widget.SetAlpha(0.3);
497 temperature_widget.Show(colorSet);
505 bool colorSet =
false;
506 Widget temperatureColorWidget = item_w.FindAnyWidget(
"Temperature");
508 if (item && item.IsInherited(
ItemBase) && item.CanHaveTemperature())
510 ObjectTemperatureState temperatureState = ObjectTemperatureState.GetStateData(item.GetTemperature());
514 temperatureColorWidget.SetColor(temperatureState.m_Color);
515 temperatureColorWidget.SetAlpha(0.3);
518 temperatureColorWidget.Show(colorSet);
536 int screen_w, screen_h;
543 x = screen_w/2 - w/2;
545 m_RootWidget.FindAnyWidget(
"InventoryFrameWidget").GetScreenPos(x1,y1);
548 else if (
x == 0 &&
y == 0 &&
GetGame().GetInput().IsEnabledMouseAndKeyboardEvenOnServer())
557 int rightEdge =
x + w;
558 if (rightEdge > screen_w)
563 int bottomEdge =
y + h;
564 if (bottomEdge > screen_h)
574 Widget preview_frame =
m_TooltipWidget.FindAnyWidget(
"ItemFrameWidget");
602 int screen_w, screen_h;
613#ifndef PLATFORM_CONSOLE
615 y += slot_normal_h + 5;
621 while (scrollerWidget)
623 if (ScrollWidget.Cast(scrollerWidget))
629 scrollerWidget = scrollerWidget.GetParent();
633 int rightEdge =
x + w;
634 if (rightEdge > screen_w)
639 int bottomEdge =
y + h;
642 float scrollerX, scrollerY, scrollerSizeX, scrollerSizeY;
643 scrollerWidget.GetScreenPos(scrollerX,scrollerY);
644 scrollerWidget.GetScreenSize(scrollerSizeX,scrollerSizeY);
646 int scroller_bottom = scrollerY + scrollerSizeY;
647 if (bottomEdge > scroller_bottom)
649 y = scroller_bottom - slot_normal_h;
658 if (bottomEdge > screen_h)
686 draggable = !player.GetInventory().HasInventoryReservation( entity, null ) && !player.IsItemsToDelete();
688 draggable = draggable && entity.GetInventory().CanRemoveEntity();
723 if (!selectedEntity || !targetEntity)
746 if (targetEntity.CanBeCombined(selectedEntity))
754 if (targetEntity.GetInventory().CanAddAttachment(selectedEntity))
762 if (!targetEntity.GetInventory().HasEntityInInventory(selectedEntity) && targetEntity.GetInventory().CanAddEntityInCargo( selectedEntity, selectedEntity.GetInventory().GetFlipCargo() ))
770 Magazine mag = Magazine.Cast(targetEntity);
774 if (player.GetWeaponManager().CanSwapMagazine(wpn, Magazine.Cast(selectedEntity)))
805 if (!entity1 || !entity2)
811 if (ent1.CanBeCombined(
ItemBase.Cast( entity2 ) ))
819 if (il.IsValid() && !entity1.GetInventory().FindAttachment(il.GetSlot()))
821 if (!entity1.IsInherited(
ZombieBase ) && !entity1.IsInherited(
Car ) && !entity2.IsInherited(
ZombieBase ) && !entity2.IsInherited(
Car ))
826 if (!entity1.GetInventory().HasEntityInInventory(entity2) && entity1.GetInventory().CanAddEntityInCargo( entity2, entity2.GetInventory().GetFlipCargo() )) flags = flags |
InventoryCombinationFlags.ADD_AS_CARGO;
828 if (entity1 == player.GetHumanInventory().GetEntityInHands() || entity2 == player.GetHumanInventory().GetEntityInHands())
831 Class.CastTo(amc, player.GetActionManager());
832 if (entity1 == player.GetHumanInventory().GetEntityInHands())
860 PluginRecipesManager plugin_recipes_manager = PluginRecipesManager.Cast(
GetPlugin( PluginRecipesManager ));
void Inventory(LayoutHolder parent)
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
bool CanPerformActionFromInventory(ItemBase mainItem, ItemBase targetItem)
bool CanSetActionFromInventory(ItemBase mainItem, ItemBase targetItem)
Super root of all classes in Enforce script.
script counterpart to engine's class Inventory
static bool CanSwapEntitiesEx(notnull EntityAI item1, notnull EntityAI item2)
static bool CanForceSwapEntitiesEx(notnull EntityAI item1, InventoryLocation item1_dst, notnull EntityAI item2, out InventoryLocation item2_dst)
Widget GetMicromanagedPanel()
ref map< string, bool > m_DefautHeaderOpenStates
bool GetDefaultHeaderOpenState(string type)
static int GetItemHealthColor(EntityAI item, string zone="")
void SerializeDefaultHeaderOpenStates()
void CalculateTooltipSlotPosition(int x=0, int y=0)
const float TOOLTIP_DELAY
void SetTemperature(EntityAI item, Widget item_w)
static int GetCombinationFlags(EntityAI entity1, EntityAI entity2)
void SetItemMicromanagmentMode(bool item_micromanagment_mode)
int m_HandsDefaultOpenState
void ClearDefaultOpenStates()
ref map< string, bool > m_DefautOpenStates
ref Widget m_TooltipSlotWidget
EntityAI GetDraggedItem()
void SetSelectedItemEx(EntityAI selected_item, Container selected_container, LayoutHolder selected_icon)
static int ColorFromFloat(float fraction)
Widget GetCenterDropzone()
EntityAI GetHoveredItem()
void ClearDefaultHeaderOpenStates()
HandsPreview GetHandsPreview()
void ShowSourceDropzone(EntityAI item)
void DeserializeDefaultHeaderOpenStates()
void SetDefaultHeaderOpenState(string type, bool is_opened)
Container GetSelectedContainer()
bool EvaluateContainerDragabilityDefault(EntityAI entity)
ScrollWidget GetLeftSlotsScroller()
SlotsIcon GetSelectedIcon()
HandsPreview m_HandsPreview
ref Widget m_TooltipWidget
Widget m_TooltipSourceWidget
void SetIconTemperature(EntityAI item, Widget item_w)
void SetHandsPreview(HandsPreview hansd_preview)
void SetDraggedItem(EntityAI dragged_item)
ref Timer m_TooltipSlotTimer
void SerializeDefaultOpenStates()
ref Widget m_TooltipCategoryWidget
Widget GetSelectedWidget()
EntityAI GetSelectedItem()
Widget GetRightDropzone()
void PrepareTooltip(EntityAI item, int x=0, int y=0)
static int GetItemHealthColor(int pHealthLevel)
Container m_SelectedContainer
void DeserializeDefaultOpenStates()
bool IsMicromanagmentMode()
void SetWidgetDraggable(Widget w, bool draggable)
ItemPreviewWidget m_ItemPreviewWidget
static int GetRecipeCount(bool recipe_anywhere, EntityAI entity1, EntityAI entity2)
ScrollWidget m_LeftSlotsScroller
void SetDraggedIcon(Icon dragged_icon)
void SetIsDragging(bool is_dragging)
void SetDefaultOpenStateHands(bool is_opened)
void PrepareSlotsTooltip(string name, string desc, int x=0, int y=0)
position is currentlycalculated from the owning 'm_TooltipSourceWidget' directly
void SetTooltipWidget(Widget w)
bool m_ItemMicromanagmentMode
LayoutHolder m_SelectedBaseIcon
bool GetDefaultOpenStateHands()
void UpdateTooltipSlotPosition()
void ItemManager(Widget root)
static int GetChosenCombinationFlag(EntityAI selectedEntity, EntityAI targetEntity, int relevantFlags, out InventoryLocation dst=null)
bool GetDefaultOpenState(string type)
static ItemManager GetInstance()
void SetSelectedItem(EntityAI selected_item, Container selected_container, Widget selected_widget, SlotsIcon selected_icon)
void SetDefaultOpenState(string type, bool is_opened)
Widget GetMicromanagedPanel()
static int GetNormalWidth()
static int GetNormalHeight()
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
array< string > TStringArray
proto void GetScreenSize(out int x, out int y)
proto void GetMousePos(out int x, out int y)
FindInventoryLocationType
flags for searching locations in inventory
InventoryLocationType
types of Inventory Location
PluginBase GetPlugin(typename plugin_type)