Barotrauma Client
Loading...
Searching...
No Matches
Barotrauma.Items.Components.ItemContainer Class Reference
Inheritance diagram for Barotrauma.Items.Components.ItemContainer:
Barotrauma.Items.Components.ItemComponent Barotrauma.Items.Components.IDrawableComponent Barotrauma.ISerializableEntity

Public Member Functions

bool ShouldBeContained (string[] identifiersOrTags, out bool isRestrictionsDefined)
 
bool ShouldBeContained (Item item, out bool isRestrictionsDefined)
 
 ItemContainer (Item item, ContentXElement element)
 
void ReloadContainableRestrictions (ContentXElement element)
 
int GetMaxStackSize (int slotIndex)
 
void OnItemContained (Item containedItem)
 
override void Move (Vector2 amount, bool ignoreContacts=false)
 
void OnItemRemoved (Item containedItem)
 
bool BlameEquipperForDeath ()
 
bool CanBeContained (Item item)
 
bool CanBeContained (Item item, int index)
 
bool CanBeContained (ItemPrefab itemPrefab)
 
bool CanBeContained (ItemPrefab itemPrefab, int index)
 
bool ContainsItemsWithSameIdentifier (Item item)
 
override void FlipX (bool relativeToSub)
 
override void Update (float deltaTime, Camera cam)
 
override void UpdateBroken (float deltaTime, Camera cam)
 
override bool HasRequiredItems (Character character, bool addMessage, LocalizedString msg=null)
 
override bool Select (Character character)
 
override bool Pick (Character picker)
 a Character has picked the item
 
override bool Combine (Item item, Character user)
 
override void Drop (Character dropper, bool setTransform=true)
 a Character has dropped the item
 
override void Equip (Character character)
 
int? FindSuitableSubContainerIndex (Identifier itemTagOrIdentifier)
 Returns the index of the first slot whose restrictions match the specified tag or identifier.
 
override void ReceiveSignal (Signal signal, Connection connection)
 
void SetContainedItemPositions ()
 
override void OnItemLoaded ()
 Called when all the components of the item have been loaded. Use to initialize connections between components and such.
 
override void OnMapLoaded ()
 Called when all items have been loaded. Use to initialize connections between items.
 
override void Load (ContentXElement componentElement, bool usePrefabValues, IdRemap idRemap, bool isItemSwap)
 
override XElement Save (XElement parentElement)
 
- Public Member Functions inherited from Barotrauma.Items.Components.ItemComponent
readonly record struct ItemUseInfo (Item Item, Character User)
 
 ItemComponent (Item item, ContentXElement element)
 
void SetRequiredItems (ContentXElement element, bool allowEmpty=false)
 
virtual bool CrewAIOperate (float deltaTime, Character character, AIObjectiveOperateItem objective)
 
Returns
true if the operation was completed

 
virtual bool Use (float deltaTime, Character character=null)
 
virtual bool SecondaryUse (float deltaTime, Character character=null)
 
virtual void Unequip (Character character)
 
void Remove ()
 
void ShallowRemove ()
 Remove the component so that it doesn't appear to exist in the game world (stop sounds, remove bodies etc) but don't reset anything that's required for cloning the item.
 
bool HasRequiredSkills (Character character)
 
bool HasRequiredSkills (Character character, out Skill insufficientSkill)
 
virtual float GetSkillMultiplier ()
 
float DegreeOfSuccess (Character character)
 Returns 0.0f-1.0f based on how well the Character can use the itemcomponent.
 
float DegreeOfSuccess (Character character, List< Skill > requiredSkills)
 Returns 0.0f-1.0f based on how well the Character can use the itemcomponent.
 
virtual void FlipY (bool relativeToSub)
 
bool IsEmpty (Character user)
 Returns true if the item is lacking required contained items, or if there's nothing with a non-zero condition inside.
 
bool HasRequiredContainedItems (Character user, bool addMessage, LocalizedString msg=null)
 
virtual bool HasAccess (Character character)
 Only checks if any of the Picked requirements are matched (used for checking id card(s)). Much simpler and a bit different than HasRequiredItems.
 
void ApplyStatusEffects (ActionType type, float deltaTime, Character character=null, Limb targetLimb=null, Entity useTarget=null, Character user=null, Vector2? worldPosition=null, float afflictionMultiplier=1.0f)
 
virtual void OnScaleChanged ()
 
virtual void OnInventoryChanged ()
 Called when the item has an ItemContainer and the contents inside of it changed.
 
virtual void Reset ()
 
virtual void ParseMsg ()
 
virtual bool ValidateEventData (NetEntityEvent.IData data)
 

Public Attributes

readonly NamedEvent< ItemContainerOnContainedItemsChanged = new NamedEvent<ItemContainer>()
 
readonly ItemInventory Inventory
 
readonly bool HasSubContainers
 
bool hasSignalConnections
 
- Public Attributes inherited from Barotrauma.Items.Components.ItemComponent
bool WasUsed
 
bool WasSecondaryUsed
 
readonly Dictionary< ActionType, List< StatusEffect > > statusEffectLists
 
Dictionary< RelatedItem.RelationType, List< RelatedItem > > RequiredItems
 
readonly List< RelatedItemDisabledRequiredItems = new List<RelatedItem>()
 
readonly List< SkillRequiredSkills = new List<Skill>()
 
readonly ContentXElement originalElement
 
Action< bool > OnActiveStateChanged
 
List< PropertyConditionalIsActiveConditionals
 
readonly NamedEvent< ItemUseInfoOnUsed = new()
 
readonly bool InheritStatusEffects
 

Protected Member Functions

override void ShallowRemoveComponentSpecific ()
 
override void RemoveComponentSpecific ()
 
- Protected Member Functions inherited from Barotrauma.Items.Components.ItemComponent
string GetTextureDirectory (ContentXElement subElement)
 
ExtractEventData< T > (NetEntityEvent.IData data)
 
bool TryExtractEventData< T > (NetEntityEvent.IData data, out T componentData)
 
AIObjectiveContainItem AIContainItems< T > (ItemContainer container, Character character, AIObjective currentObjective, int itemCount, bool equip, bool removeEmpty, bool spawnItemIfNotFound=false, bool dropItemOnDeselected=false)
 

Properties

int Capacity [get]
 
int MainContainerCapacity [get]
 The capacity of the main container without taking the sub containers into account. Only differs when there's a sub container defined for the component.
 
int MaxStackSize [get, set]
 
bool HideItems [get, set]
 
Vector2 ItemPos [get, set]
 
Vector2 ItemInterval [get, set]
 
int ItemsPerRow [get, set]
 
bool DrawInventory [get, set]
 
bool AllowDragAndDrop [get, set]
 
bool AllowSwappingContainedItems [get, set]
 
bool QuickUseMovesItemsInside [get, set]
 
bool AutoInteractWithContained [get, set]
 
bool AllowAccess [get, set]
 
bool AccessOnlyWhenBroken [get, set]
 
bool AllowAccessWhenDropped [get, set]
 
int SlotsPerRow [get, set]
 
string ContainableRestrictions [get, set]
 
bool AutoFill [get, set]
 
float ItemRotation [get, set]
 
string SpawnWithId [get, set]
 
bool SpawnWithIdWhenBroken [get, set]
 
bool AutoInject [get, set]
 
float AutoInjectThreshold [get, set]
 
bool RemoveContainedItemsOnDeconstruct [get, set]
 
bool Locked [get, set]
 Can be used by status effects to lock the inventory.
 
int ContainedItemCount [get]
 Can be used by status effects.
 
int ContainedNonBrokenItemCount [get]
 Can be used by status effects.
 
int ExtraStackSize [get, set]
 
ImmutableHashSet< Identifier > ContainableItemIdentifiers [get]
 
List< RelatedItemContainableItems [get]
 
List< RelatedItemAllSubContainableItems [get]
 
- Properties inherited from Barotrauma.Items.Components.ItemComponent
ItemComponent Parent [get, set]
 
bool InheritParentIsActive [get, set]
 
virtual bool DontTransferInventoryBetweenSubs [get]
 If enabled, the contents of the item are not transferred when the player transfers items between subs. Use this if this component uses item containers in a way where removing the item from the container via external means would cause problems.
 
virtual bool DisallowSellingItemsFromContainer [get]
 If enabled, the items inside any of the item containers on this item cannot be sold at an outpost. Use in similar cases as DontTransferInventoryBetweenSubs.
 
float PickingTime [get, set]
 
string PickingMsg [get, set]
 
Dictionary< Identifier, SerializablePropertySerializableProperties [get, protected set]
 
virtual bool IsActive [get, set]
 
PropertyConditional.LogicalOperatorType IsActiveConditionalComparison [get, set]
 
bool Drawable [get, set]
 
bool CanBePicked [get, set]
 
bool DrawHudWhenEquipped [get, protected set]
 
bool LockGuiFramePosition [get, set]
 
Point GuiFrameOffset [get, set]
 
bool CanBeSelected [get, set]
 
bool CanBeCombined [get, set]
 
bool RemoveOnCombined [get, set]
 
bool CharacterUsable [get, set]
 
bool AllowInGameEditing [get, set]
 
InputType PickKey [get, protected set]
 
InputType SelectKey [get, protected set]
 
bool DeleteOnUse [get, set]
 
Item Item [get]
 
string Name [get]
 
string Msg [get, set]
 
LocalizedString DisplayMsg [get, set]
 
float CombatPriority [get]
 
int ManuallySelectedSound [get]
 Which sound should be played when manual sound selection type is selected? Not [Editable] because we don't want this visible in the editor for every component.
 
float Speed [get]
 Can be used by status effects or conditionals to the speed of the item.
 
virtual bool UpdateWhenInactive [get]
 
- Properties inherited from Barotrauma.ISerializableEntity

Additional Inherited Members

- Static Public Member Functions inherited from Barotrauma.Items.Components.ItemComponent
static ItemComponent Load (ContentXElement element, Item item, bool errorMessages=true)
 
- Protected Attributes inherited from Barotrauma.Items.Components.ItemComponent
Item item
 
string name
 
bool characterUsable
 
bool canBePicked
 
bool canBeSelected
 
bool canBeCombined
 
bool removeOnCombined
 
CoroutineHandle delayedCorrectionCoroutine
 
float aiUpdateTimer
 
- Static Protected Attributes inherited from Barotrauma.Items.Components.ItemComponent
const float CorrectionDelay = 1.0f
 
const float AIUpdateInterval = 0.2f
 

Constructor & Destructor Documentation

◆ ItemContainer()

Barotrauma.Items.Components.ItemContainer.ItemContainer ( Item item,
ContentXElement element )

Member Function Documentation

◆ BlameEquipperForDeath()

bool Barotrauma.Items.Components.ItemContainer.BlameEquipperForDeath ( )

◆ CanBeContained() [1/4]

bool Barotrauma.Items.Components.ItemContainer.CanBeContained ( Item item)

◆ CanBeContained() [2/4]

bool Barotrauma.Items.Components.ItemContainer.CanBeContained ( Item item,
int index )

◆ CanBeContained() [3/4]

bool Barotrauma.Items.Components.ItemContainer.CanBeContained ( ItemPrefab itemPrefab)

◆ CanBeContained() [4/4]

bool Barotrauma.Items.Components.ItemContainer.CanBeContained ( ItemPrefab itemPrefab,
int index )

◆ Combine()

override bool Barotrauma.Items.Components.ItemContainer.Combine ( Item item,
Character user )
virtual

◆ ContainsItemsWithSameIdentifier()

bool Barotrauma.Items.Components.ItemContainer.ContainsItemsWithSameIdentifier ( Item item)

◆ Drop()

override void Barotrauma.Items.Components.ItemContainer.Drop ( Character dropper,
bool setTransform = true )
virtual

a Character has dropped the item

Reimplemented from Barotrauma.Items.Components.ItemComponent.

◆ Equip()

override void Barotrauma.Items.Components.ItemContainer.Equip ( Character character)
virtual

◆ FindSuitableSubContainerIndex()

int? Barotrauma.Items.Components.ItemContainer.FindSuitableSubContainerIndex ( Identifier itemTagOrIdentifier)

Returns the index of the first slot whose restrictions match the specified tag or identifier.

◆ FlipX()

override void Barotrauma.Items.Components.ItemContainer.FlipX ( bool relativeToSub)
virtual

◆ GetMaxStackSize()

int Barotrauma.Items.Components.ItemContainer.GetMaxStackSize ( int slotIndex)

◆ HasRequiredItems()

override bool Barotrauma.Items.Components.ItemContainer.HasRequiredItems ( Character character,
bool addMessage,
LocalizedString msg = null )
virtual

◆ Load()

override void Barotrauma.Items.Components.ItemContainer.Load ( ContentXElement componentElement,
bool usePrefabValues,
IdRemap idRemap,
bool isItemSwap )
virtual

◆ Move()

override void Barotrauma.Items.Components.ItemContainer.Move ( Vector2 amount,
bool ignoreContacts = false )
virtual

◆ OnItemContained()

void Barotrauma.Items.Components.ItemContainer.OnItemContained ( Item containedItem)

◆ OnItemLoaded()

override void Barotrauma.Items.Components.ItemContainer.OnItemLoaded ( )
virtual

Called when all the components of the item have been loaded. Use to initialize connections between components and such.

Reimplemented from Barotrauma.Items.Components.ItemComponent.

◆ OnItemRemoved()

void Barotrauma.Items.Components.ItemContainer.OnItemRemoved ( Item containedItem)

◆ OnMapLoaded()

override void Barotrauma.Items.Components.ItemContainer.OnMapLoaded ( )
virtual

Called when all items have been loaded. Use to initialize connections between items.

Reimplemented from Barotrauma.Items.Components.ItemComponent.

◆ Pick()

override bool Barotrauma.Items.Components.ItemContainer.Pick ( Character picker)
virtual

a Character has picked the item

Reimplemented from Barotrauma.Items.Components.ItemComponent.

◆ ReceiveSignal()

override void Barotrauma.Items.Components.ItemContainer.ReceiveSignal ( Signal signal,
Connection connection )
virtual

◆ ReloadContainableRestrictions()

void Barotrauma.Items.Components.ItemContainer.ReloadContainableRestrictions ( ContentXElement element)

◆ RemoveComponentSpecific()

override void Barotrauma.Items.Components.ItemContainer.RemoveComponentSpecific ( )
protectedvirtual

◆ Save()

override XElement Barotrauma.Items.Components.ItemContainer.Save ( XElement parentElement)
virtual

◆ Select()

override bool Barotrauma.Items.Components.ItemContainer.Select ( Character character)
virtual

◆ SetContainedItemPositions()

void Barotrauma.Items.Components.ItemContainer.SetContainedItemPositions ( )

◆ ShallowRemoveComponentSpecific()

override void Barotrauma.Items.Components.ItemContainer.ShallowRemoveComponentSpecific ( )
protectedvirtual

◆ ShouldBeContained() [1/2]

bool Barotrauma.Items.Components.ItemContainer.ShouldBeContained ( Item item,
out bool isRestrictionsDefined )

◆ ShouldBeContained() [2/2]

bool Barotrauma.Items.Components.ItemContainer.ShouldBeContained ( string[] identifiersOrTags,
out bool isRestrictionsDefined )

◆ Update()

override void Barotrauma.Items.Components.ItemContainer.Update ( float deltaTime,
Camera cam )
virtual

◆ UpdateBroken()

override void Barotrauma.Items.Components.ItemContainer.UpdateBroken ( float deltaTime,
Camera cam )
virtual

Member Data Documentation

◆ hasSignalConnections

bool Barotrauma.Items.Components.ItemContainer.hasSignalConnections

◆ HasSubContainers

readonly bool Barotrauma.Items.Components.ItemContainer.HasSubContainers

◆ Inventory

readonly ItemInventory Barotrauma.Items.Components.ItemContainer.Inventory

◆ OnContainedItemsChanged

readonly NamedEvent<ItemContainer> Barotrauma.Items.Components.ItemContainer.OnContainedItemsChanged = new NamedEvent<ItemContainer>()

Property Documentation

◆ AccessOnlyWhenBroken

bool Barotrauma.Items.Components.ItemContainer.AccessOnlyWhenBroken
getset

◆ AllowAccess

bool Barotrauma.Items.Components.ItemContainer.AllowAccess
getset

◆ AllowAccessWhenDropped

bool Barotrauma.Items.Components.ItemContainer.AllowAccessWhenDropped
getset

◆ AllowDragAndDrop

bool Barotrauma.Items.Components.ItemContainer.AllowDragAndDrop
getset

◆ AllowSwappingContainedItems

bool Barotrauma.Items.Components.ItemContainer.AllowSwappingContainedItems
getset

◆ AllSubContainableItems

List<RelatedItem> Barotrauma.Items.Components.ItemContainer.AllSubContainableItems
get

◆ AutoFill

bool Barotrauma.Items.Components.ItemContainer.AutoFill
getset

◆ AutoInject

bool Barotrauma.Items.Components.ItemContainer.AutoInject
getset

◆ AutoInjectThreshold

float Barotrauma.Items.Components.ItemContainer.AutoInjectThreshold
getset

◆ AutoInteractWithContained

bool Barotrauma.Items.Components.ItemContainer.AutoInteractWithContained
getset

◆ Capacity

int Barotrauma.Items.Components.ItemContainer.Capacity
get

◆ ContainableItemIdentifiers

ImmutableHashSet<Identifier> Barotrauma.Items.Components.ItemContainer.ContainableItemIdentifiers
get

◆ ContainableItems

List<RelatedItem> Barotrauma.Items.Components.ItemContainer.ContainableItems
get

◆ ContainableRestrictions

string Barotrauma.Items.Components.ItemContainer.ContainableRestrictions
getset

◆ ContainedItemCount

int Barotrauma.Items.Components.ItemContainer.ContainedItemCount
get

Can be used by status effects.

◆ ContainedNonBrokenItemCount

int Barotrauma.Items.Components.ItemContainer.ContainedNonBrokenItemCount
get

Can be used by status effects.

◆ DrawInventory

bool Barotrauma.Items.Components.ItemContainer.DrawInventory
getset

◆ ExtraStackSize

int Barotrauma.Items.Components.ItemContainer.ExtraStackSize
getset

◆ HideItems

bool Barotrauma.Items.Components.ItemContainer.HideItems
getset

◆ ItemInterval

Vector2 Barotrauma.Items.Components.ItemContainer.ItemInterval
getset

◆ ItemPos

Vector2 Barotrauma.Items.Components.ItemContainer.ItemPos
getset

◆ ItemRotation

float Barotrauma.Items.Components.ItemContainer.ItemRotation
getset

◆ ItemsPerRow

int Barotrauma.Items.Components.ItemContainer.ItemsPerRow
getset

◆ Locked

bool Barotrauma.Items.Components.ItemContainer.Locked
getset

Can be used by status effects to lock the inventory.

◆ MainContainerCapacity

int Barotrauma.Items.Components.ItemContainer.MainContainerCapacity
get

The capacity of the main container without taking the sub containers into account. Only differs when there's a sub container defined for the component.

◆ MaxStackSize

int Barotrauma.Items.Components.ItemContainer.MaxStackSize
getset

◆ QuickUseMovesItemsInside

bool Barotrauma.Items.Components.ItemContainer.QuickUseMovesItemsInside
getset

◆ RemoveContainedItemsOnDeconstruct

bool Barotrauma.Items.Components.ItemContainer.RemoveContainedItemsOnDeconstruct
getset

◆ SlotsPerRow

int Barotrauma.Items.Components.ItemContainer.SlotsPerRow
getset

◆ SpawnWithId

string Barotrauma.Items.Components.ItemContainer.SpawnWithId
getset

◆ SpawnWithIdWhenBroken

bool Barotrauma.Items.Components.ItemContainer.SpawnWithIdWhenBroken
getset

The documentation for this class was generated from the following file: