Barotrauma Client Doc
Barotrauma.Items.Components.Door Class Reference
Inheritance diagram for Barotrauma.Items.Components.Door:
Barotrauma.Items.Components.Pickable Barotrauma.Items.Components.IDrawableComponent Barotrauma.Networking.IServerSerializable Barotrauma.Items.Components.Pickable Barotrauma.Items.Components.IDrawableComponent Barotrauma.Networking.IServerSerializable Barotrauma.Items.Components.ItemComponent Barotrauma.Networking.IServerSerializable Barotrauma.Networking.INetSerializable Barotrauma.Items.Components.ItemComponent Barotrauma.Networking.IServerSerializable Barotrauma.Networking.INetSerializable Barotrauma.ISerializableEntity Barotrauma.ISerializableEntity Barotrauma.Networking.INetSerializable Barotrauma.ISerializableEntity Barotrauma.ISerializableEntity Barotrauma.Networking.INetSerializable

Public Member Functions

 Door (Item item, ContentXElement element)
 
override void OnItemLoaded ()
 Called when all the components of the item have been loaded. Use to initialize connections between components and such. More...
 
override void Move (Vector2 amount, bool ignoreContacts=false)
 
override bool HasRequiredItems (Character character, bool addMessage, LocalizedString msg=null)
 
override bool Pick (Character picker)
 a Character has picked the item More...
 
override bool OnPicked (Character picker)
 
override bool Select (Character character)
 
bool IsPositionOnWindow (Vector2 position, float maxPerpendicularDistance=10.0f)
 Is the given position inside the vertical bounds of the window, and roughly on the door horizontally? Or the other way around if the door opens horizontally. More...
 
override void Update (float deltaTime, Camera cam)
 
override void UpdateBroken (float deltaTime, Camera cam)
 
void RefreshLinkedGap ()
 
override void OnMapLoaded ()
 Called when all items have been loaded. Use to initialize connections between items. More...
 
override void OnScaleChanged ()
 
override 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. More...
 
override void ReceiveSignal (Signal signal, Connection connection)
 
void TrySetState (bool open, bool isNetworkMessage, bool sendNetworkMessage=false)
 
void Draw (SpriteBatch spriteBatch, bool editing, float itemDepth=-1, Color? overrideColor=null)
 
override void ClientEventRead (IReadMessage msg, float sendingTime)
 
- Public Member Functions inherited from Barotrauma.Items.Components.Pickable
 Pickable (Item item, ContentXElement element)
 
override bool Pick (Character picker)
 a Character has picked the item More...
 
virtual bool OnPicked (Character picker, bool pickDroppedStack)
 
override void Drop (Character dropper, bool setTransform=true)
 a Character has dropped the item More...
 
virtual void ServerEventWrite (IWriteMessage msg, Client c, NetEntityEvent.IData extraData=null)
 
- 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
More...
 
virtual bool Use (float deltaTime, Character character=null)
 
virtual bool SecondaryUse (float deltaTime, Character character=null)
 
virtual void Equip (Character character)
 
virtual void Unequip (Character character)
 
virtual bool Combine (Item item, Character user)
 
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 More...
 
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 More...
 
float DegreeOfSuccess (Character character, List< Skill > requiredSkills)
 Returns 0.0f-1.0f based on how well the Character can use the itemcomponent More...
 
virtual void FlipX (bool relativeToSub)
 
virtual void FlipY (bool relativeToSub)
 
bool IsEmpty (Character user)
 Shorthand for !HasRequiredContainedItems() More...
 
bool HasRequiredContainedItems (Character user, bool addMessage, LocalizedString msg=null)
 
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 Load (ContentXElement componentElement, bool usePrefabValues, IdRemap idRemap)
 
virtual void OnInventoryChanged ()
 Called when the item has an ItemContainer and the contents inside of it changed. More...
 
virtual XElement Save (XElement parentElement)
 
virtual void Reset ()
 
virtual void ParseMsg ()
 
virtual bool ValidateEventData (NetEntityEvent.IData data)
 
ItemComponent GetReplacementOrThis ()
 
bool NeedsSoundUpdate ()
 
void UpdateSounds ()
 
void PlaySound (ActionType type, Character user=null)
 
void StopLoopingSound ()
 
void StopSounds (ActionType type)
 
virtual bool ShouldDrawHUD (Character character)
 
ItemComponent GetLinkUIToComponent ()
 
virtual void DrawHUD (SpriteBatch spriteBatch, Character character)
 
virtual void AddToGUIUpdateList (int order=0)
 
void UpdateHUD (Character character, float deltaTime, Camera cam)
 
virtual void UpdateHUDComponentSpecific (Character character, float deltaTime, Camera cam)
 
virtual void UpdateEditing (float deltaTime)
 
virtual void CreateEditingHUD (SerializableEntityEditor editor)
 
virtual void OnPlayerSkillsChanged ()
 
virtual void AddTooltipInfo (ref LocalizedString name, ref LocalizedString description)
 

Public Attributes

Fixture OutsideSubmarineFixture
 
bool CanBeWelded = true
 
- Public Attributes inherited from Barotrauma.Items.Components.ItemComponent
bool WasUsed
 
readonly Dictionary< ActionType, List< StatusEffect > > statusEffectLists
 
Dictionary< RelatedItem.RelationType, List< RelatedItem > > requiredItems
 
readonly List< RelatedItemDisabledRequiredItems = new List<RelatedItem>()
 
List< SkillrequiredSkills
 
readonly ContentXElement originalElement
 
Action< bool > OnActiveStateChanged
 
List< PropertyConditionalIsActiveConditionals
 
readonly NamedEvent< ItemUseInfoOnUsed = new()
 
readonly bool InheritStatusEffects
 
float IsActiveTimer
 
ItemComponent ReplacedBy
 

Protected Member Functions

override void RemoveComponentSpecific ()
 
- Protected Member Functions inherited from Barotrauma.Items.Components.Pickable
void StopPicking (Character picker)
 
void DropConnectedWires (Character character)
 
- Protected Member Functions inherited from Barotrauma.Items.Components.ItemComponent
virtual void ShallowRemoveComponentSpecific ()
 
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)
 
void ReleaseGuiFrame ()
 
void ReloadGuiFrame ()
 
void TryCreateDragHandle ()
 
virtual void CreateGUI ()
 Overload this method and implement. The method is automatically called when the resolution changes. More...
 
void StartDelayedCorrection (IReadMessage buffer, float sendingTime, bool waitForMidRoundSync=false)
 
void OnGUIParentChanged (RectTransform newParent)
 Launches when the parent of the GuiFrame is changed. More...
 
virtual void OnResolutionChanged ()
 

Properties

static IReadOnlyCollection< DoorDoorList [get]
 
bool IsJammed [get, set]
 
bool IsStuck [get]
 
bool CanBeTraversed [get]
 
bool IsBroken [get, set]
 
PhysicsBody Body [get]
 
float Stuck [get, set]
 
float OpeningSpeed [get]
 
float ClosingSpeed [get]
 
float ToggleCoolDown [get]
 
bool? PredictedState [get]
 
Gap LinkedGap [get]
 
bool IsHorizontal [get]
 
Rectangle Window [get, set]
 
bool? IsOpen [get, set]
 
bool IsClosed [get]
 
bool IsFullyOpen [get]
 
bool IsFullyClosed [get]
 
bool HasWindow [get]
 
bool HasIntegratedButtons [get]
 
bool ToggleWhenClicked [get]
 
float? OpenState [get, set]
 
bool Impassable [get, set]
 
bool UseBetweenOutpostModules [get]
 
bool BotsShouldKeepOpen [get]
 
Vector2 ShadowScale [get, set]
 
Vector2 DrawSize [get]
 
- Properties inherited from Barotrauma.Items.Components.Pickable
virtual bool IsAttached [get]
 
List< InvSlotTypeAllowedSlots [get]
 
bool PickingDone [get]
 
Character Picker [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. More...
 
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. More...
 
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. More...
 
float Speed [get]
 Can be used by status effects or conditionals to the speed of the item More...
 
virtual bool UpdateWhenInactive [get]
 
bool HasSounds [get]
 
bool[] HasSoundsOfType [get]
 
virtual bool RecreateGUIOnResolutionChange [get]
 
GUILayoutSettings DefaultLayout [get, protected set]
 
GUILayoutSettings AlternativeLayout [get, protected set]
 
GUIFrame GuiFrame [get, set]
 
bool AllowUIOverlap [get, set]
 
string LinkUIToComponent [get, set]
 
int HudPriority [get]
 
int HudLayer [get]
 
bool?? UseAlternativeLayout [get, set]
 
- Properties inherited from Barotrauma.ISerializableEntity
string Name [get]
 
Dictionary< Identifier, SerializablePropertySerializableProperties [get]
 
- Properties inherited from Barotrauma.Items.Components.IDrawableComponent
Vector2 DrawSize [get]
 The extents of the sprites or other graphics this component needs to draw. Used to determine which items are visible on the screen. More...
 

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.Pickable
Character picker
 
List< InvSlotTypeallowedSlots
 
- 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
 
float correctionTimer
 
- Static Protected Attributes inherited from Barotrauma.Items.Components.ItemComponent
const float CorrectionDelay = 1.0f
 
const float AIUpdateInterval = 0.2f
 

Detailed Description

Constructor & Destructor Documentation

◆ Door()

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

Member Function Documentation

◆ ClientEventRead()

override void Barotrauma.Items.Components.Door.ClientEventRead ( IReadMessage  msg,
float  sendingTime 
)
virtual

◆ Draw()

void Barotrauma.Items.Components.Door.Draw ( SpriteBatch  spriteBatch,
bool  editing,
float  itemDepth = -1,
Color?  overrideColor = null 
)

◆ HasAccess()

override bool Barotrauma.Items.Components.Door.HasAccess ( Character  character)
virtual

Only checks if any of the Picked requirements are matched (used for checking id card(s)). Much simpler and a bit different than HasRequiredItems.

Reimplemented from Barotrauma.Items.Components.ItemComponent.

Definition at line 782 of file BarotraumaShared/SharedSource/Items/Components/Door.cs.

◆ HasRequiredItems()

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

◆ IsPositionOnWindow()

bool Barotrauma.Items.Components.Door.IsPositionOnWindow ( Vector2  position,
float  maxPerpendicularDistance = 10.0f 
)

Is the given position inside the vertical bounds of the window, and roughly on the door horizontally? Or the other way around if the door opens horizontally.

Parameters
positionPosition in the same coordinate space as the door.
maxPerpendicularDistanceMaximum horizontal distance from the door (or vertical if the door opens horizontally)

Definition at line 396 of file BarotraumaShared/SharedSource/Items/Components/Door.cs.

◆ Move()

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

◆ OnItemLoaded()

override void Barotrauma.Items.Components.Door.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.

Definition at line 262 of file BarotraumaShared/SharedSource/Items/Components/Door.cs.

◆ OnMapLoaded()

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

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

Reimplemented from Barotrauma.Items.Components.ItemComponent.

Definition at line 571 of file BarotraumaShared/SharedSource/Items/Components/Door.cs.

◆ OnPicked()

override bool Barotrauma.Items.Components.Door.OnPicked ( Character  picker)
virtual

◆ OnScaleChanged()

override void Barotrauma.Items.Components.Door.OnScaleChanged ( )
virtual

◆ Pick()

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

a Character has picked the item

Reimplemented from Barotrauma.Items.Components.ItemComponent.

Definition at line 321 of file BarotraumaShared/SharedSource/Items/Components/Door.cs.

◆ ReceiveSignal()

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

◆ RefreshLinkedGap()

void Barotrauma.Items.Components.Door.RefreshLinkedGap ( )

◆ RemoveComponentSpecific()

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

◆ Select()

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

◆ TrySetState()

void Barotrauma.Items.Components.Door.TrySetState ( bool  open,
bool  isNetworkMessage,
bool  sendNetworkMessage = false 
)

◆ Update()

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

◆ UpdateBroken()

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

Member Data Documentation

◆ CanBeWelded

bool Barotrauma.Items.Components.Door.CanBeWelded = true

◆ OutsideSubmarineFixture

Fixture Barotrauma.Items.Components.Door.OutsideSubmarineFixture

Property Documentation

◆ Body

PhysicsBody Barotrauma.Items.Components.Door.Body
get

◆ BotsShouldKeepOpen

bool Barotrauma.Items.Components.Door.BotsShouldKeepOpen
get

◆ CanBeTraversed

bool Barotrauma.Items.Components.Door.CanBeTraversed
get

◆ ClosingSpeed

float Barotrauma.Items.Components.Door.ClosingSpeed
get

◆ DoorList

IReadOnlyCollection<Door> Barotrauma.Items.Components.Door.DoorList
staticget

◆ DrawSize

Vector2 Barotrauma.Items.Components.Door.DrawSize
get

◆ HasIntegratedButtons

bool Barotrauma.Items.Components.Door.HasIntegratedButtons
get

◆ HasWindow

bool Barotrauma.Items.Components.Door.HasWindow
get

◆ Impassable

bool Barotrauma.Items.Components.Door.Impassable
getset

◆ IsBroken

bool Barotrauma.Items.Components.Door.IsBroken
getset

◆ IsClosed

bool Barotrauma.Items.Components.Door.IsClosed
get

◆ IsFullyClosed

bool Barotrauma.Items.Components.Door.IsFullyClosed
get

◆ IsFullyOpen

bool Barotrauma.Items.Components.Door.IsFullyOpen
get

◆ IsHorizontal

bool Barotrauma.Items.Components.Door.IsHorizontal
get

◆ IsJammed

bool Barotrauma.Items.Components.Door.IsJammed
getset

◆ IsOpen

bool? Barotrauma.Items.Components.Door.IsOpen
getset

◆ IsStuck

bool Barotrauma.Items.Components.Door.IsStuck
get

◆ LinkedGap

Gap Barotrauma.Items.Components.Door.LinkedGap
get

◆ OpeningSpeed

float Barotrauma.Items.Components.Door.OpeningSpeed
get

◆ OpenState

float? Barotrauma.Items.Components.Door.OpenState
getset

◆ PredictedState

bool? Barotrauma.Items.Components.Door.PredictedState
get

◆ ShadowScale

Vector2 Barotrauma.Items.Components.Door.ShadowScale
getset

◆ Stuck

float Barotrauma.Items.Components.Door.Stuck
getset

◆ ToggleCoolDown

float Barotrauma.Items.Components.Door.ToggleCoolDown
get

◆ ToggleWhenClicked

bool Barotrauma.Items.Components.Door.ToggleWhenClicked
get

◆ UseBetweenOutpostModules

bool Barotrauma.Items.Components.Door.UseBetweenOutpostModules
get

◆ Window

Rectangle Barotrauma.Items.Components.Door.Window
getset