Barotrauma Client
Loading...
Searching...
No Matches
Barotrauma.Items.Components.PowerContainer Class Reference
Inheritance diagram for Barotrauma.Items.Components.PowerContainer:
Barotrauma.Items.Components.Powered Barotrauma.Items.Components.IDrawableComponent Barotrauma.Networking.IServerSerializable Barotrauma.Networking.IClientSerializable Barotrauma.Items.Components.ItemComponent Barotrauma.Networking.INetSerializable Barotrauma.Networking.INetSerializable Barotrauma.ISerializableEntity

Public Member Functions

 PowerContainer (Item item, ContentXElement element)
 
override bool Pick (Character picker)
 a Character has picked the item
 
override void Update (float deltaTime, Camera cam)
 
override float GetCurrentPowerConsumption (Connection connection=null)
 Returns the power consumption if checking the powerIn connection, or a negative value if the output can provide power when checking powerOut. Power consumption is proportional to set recharge speed and if there is less than max charge.
 
override PowerRange MinMaxPowerOut (Connection connection, float load=0)
 Minimum and maximum output for the queried connection. Powerin min max equals CurrPowerConsumption as its abnormal for there to be power out. PowerOut min power out is zero and max is the maxout unless below 10% charge where the output is scaled relative to the 10% charge.
 
override float GetConnectionPowerOut (Connection connection, float power, PowerRange minMaxPower, float load)
 Finalized power out from the container for the connection, provided the given grid information Output power based on the maxpower all batteries can output. So all batteries can equally share powerout based on their output capabilities.
 
override void GridResolved (Connection conn)
 When the corresponding grid connection is resolved, adjust the container's charge.
 
override bool CrewAIOperate (float deltaTime, Character character, AIObjectiveOperateItem objective)
 
Returns
true if the operation was completed

 
override void ReceiveSignal (Signal signal, Connection connection)
 
float GetCapacity ()
 
- Public Member Functions inherited from Barotrauma.Items.Components.Powered
 Powered (Item item, ContentXElement element)
 
override void Update (float deltaTime, Camera cam)
 
override void OnItemLoaded ()
 Called when all the components of the item have been loaded. Use to initialize connections between components and such.
 
- 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 void Move (Vector2 amount, bool ignoreContacts=false)
 
virtual bool Select (Character character)
 
virtual void Drop (Character dropper, bool setTransform=true)
 a Character has dropped the item
 
virtual void UpdateBroken (float deltaTime, Camera cam)
 
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.
 
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 FlipX (bool relativeToSub)
 
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.
 
virtual bool HasRequiredItems (Character character, 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, bool isItemSwap)
 
virtual void OnMapLoaded ()
 Called when all items have been loaded. Use to initialize connections between items.
 
virtual void OnScaleChanged ()
 
virtual void OnInventoryChanged ()
 Called when the item has an ItemContainer and the contents inside of it changed.
 
virtual XElement Save (XElement parentElement)
 
virtual void Reset ()
 
virtual void ParseMsg ()
 
virtual bool ValidateEventData (NetEntityEvent.IData data)
 

Static Public Attributes

const float aiRechargeTargetRatio = 0.5f
 
- Static Public Attributes inherited from Barotrauma.Items.Components.Powered
static readonly HashSet< ConnectionChangedConnections = new HashSet<Connection>()
 
static readonly Dictionary< int, GridInfoGrids = new Dictionary<int, GridInfo>()
 

Protected Attributes

Vector2 indicatorPosition
 
Vector2 indicatorSize
 
bool isHorizontal
 
- Protected Attributes inherited from Barotrauma.Items.Components.Powered
float currPowerConsumption
 The amount of power currently consumed by the item. Negative values mean that the item is providing power to connected items.
 
float powerConsumption
 The maximum amount of power the item can draw from connected items.
 
Connection powerIn
 
Connection powerOut
 
- 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
 

Properties

override PowerPriority Priority [get]
 
float CurrPowerOutput [get]
 
Vector2 IndicatorPosition [get, set]
 
Vector2 IndicatorSize [get, set]
 
bool IsHorizontal [get, set]
 
float MaxOutPut [get, set]
 
float Capacity [get, set]
 
float Charge [get, set]
 
float ChargePercentage [get]
 
float MaxRechargeSpeed [get, set]
 
float RechargeSpeed [get, set]
 
bool ExponentialRechargeSpeed [get, set]
 
float Efficiency [get, set]
 
bool FlipIndicator [get, set]
 
bool OutputDisabled [get]
 
float RechargeRatio [get]
 
bool HasBeenTuned [get]
 
- Properties inherited from Barotrauma.Items.Components.Powered
static IEnumerable< PoweredPoweredList [get]
 
virtual PowerPriority Priority [get]
 
float MinVoltage [get, set]
 
float PowerConsumption [get, set]
 
override bool IsActive [get, set]
 
float CurrPowerConsumption [get, set]
 
float Voltage [get, set]
 
float RelativeVoltage [get]
 Essentially Voltage / MinVoltage (= how much of the minimum required voltage has been satisfied), clamped between 0 and 1. Can be used by status effects or sounds to check if the item has enough power to run.
 
bool PoweredByTinkering [get, set]
 
bool VulnerableToEMP [get, set]
 
- 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.Powered
static void UpdateGrids (bool useCache=true)
 Allocate electrical devices into their grids based on connections.
 
static void UpdatePower (float deltaTime)
 Update the power calculations of all devices and grids Updates grids in the order of ConnCurrConsumption - Get load of device/ flag it as an outputting connection – If outputting power – MinMaxPower - Minimum and Maximum power output of the connection for devices to coordinate ConnPowerOut - Final power output based on the sum of the MinMaxPower – Finally – GridResolved - Indicate that a connection's grid has been finished being calculated.
 
static bool ValidPowerConnection (Connection conn1, Connection conn2)
 
- Static Public Member Functions inherited from Barotrauma.Items.Components.ItemComponent
static ItemComponent Load (ContentXElement element, Item item, bool errorMessages=true)
 
- 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 inherited from Barotrauma.Items.Components.Powered
void UpdateOnActiveEffects (float deltaTime)
 
float GetAvailableInstantaneousBatteryPower ()
 Returns the amount of power that can be supplied by batteries directly connected to the item.
 
IEnumerable< PowerContainerGetDirectlyConnectedBatteries ()
 
override void RemoveComponentSpecific ()
 
- 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)
 
- Static Protected Attributes inherited from Barotrauma.Items.Components.Powered
const float UpdateInterval = (float)Timing.Step
 
const float MaxOverVoltageFactor = 2.0f
 Maximum voltage factor when the device is being overvolted. I.e. how many times more effectively the device can function when it's being overvolted.
 
- Static Protected Attributes inherited from Barotrauma.Items.Components.ItemComponent
const float CorrectionDelay = 1.0f
 
const float AIUpdateInterval = 0.2f
 

Constructor & Destructor Documentation

◆ PowerContainer()

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

Member Function Documentation

◆ CrewAIOperate()

override bool Barotrauma.Items.Components.PowerContainer.CrewAIOperate ( float deltaTime,
Character character,
AIObjectiveOperateItem objective )
virtual

Returns
true if the operation was completed

Reimplemented from Barotrauma.Items.Components.ItemComponent.

◆ GetCapacity()

float Barotrauma.Items.Components.PowerContainer.GetCapacity ( )

◆ GetConnectionPowerOut()

override float Barotrauma.Items.Components.PowerContainer.GetConnectionPowerOut ( Connection connection,
float power,
PowerRange minMaxPower,
float load )
virtual

Finalized power out from the container for the connection, provided the given grid information Output power based on the maxpower all batteries can output. So all batteries can equally share powerout based on their output capabilities.

Parameters
connection
power
minMaxPower
load
Returns

Reimplemented from Barotrauma.Items.Components.Powered.

◆ GetCurrentPowerConsumption()

override float Barotrauma.Items.Components.PowerContainer.GetCurrentPowerConsumption ( Connection connection = null)
virtual

Returns the power consumption if checking the powerIn connection, or a negative value if the output can provide power when checking powerOut. Power consumption is proportional to set recharge speed and if there is less than max charge.

Reimplemented from Barotrauma.Items.Components.Powered.

◆ GridResolved()

override void Barotrauma.Items.Components.PowerContainer.GridResolved ( Connection conn)
virtual

When the corresponding grid connection is resolved, adjust the container's charge.

Reimplemented from Barotrauma.Items.Components.Powered.

◆ MinMaxPowerOut()

override PowerRange Barotrauma.Items.Components.PowerContainer.MinMaxPowerOut ( Connection connection,
float load = 0 )
virtual

Minimum and maximum output for the queried connection. Powerin min max equals CurrPowerConsumption as its abnormal for there to be power out. PowerOut min power out is zero and max is the maxout unless below 10% charge where the output is scaled relative to the 10% charge.

Parameters
connectionConnection being queried
loadCurrent grid load
Returns
Minimum and maximum power output for the connection

Reimplemented from Barotrauma.Items.Components.Powered.

◆ Pick()

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

a Character has picked the item

Reimplemented from Barotrauma.Items.Components.ItemComponent.

◆ ReceiveSignal()

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

◆ Update()

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

Member Data Documentation

◆ aiRechargeTargetRatio

const float Barotrauma.Items.Components.PowerContainer.aiRechargeTargetRatio = 0.5f
static

◆ indicatorPosition

Vector2 Barotrauma.Items.Components.PowerContainer.indicatorPosition
protected

◆ indicatorSize

Vector2 Barotrauma.Items.Components.PowerContainer.indicatorSize
protected

◆ isHorizontal

bool Barotrauma.Items.Components.PowerContainer.isHorizontal
protected

Property Documentation

◆ Capacity

float Barotrauma.Items.Components.PowerContainer.Capacity
getset

◆ Charge

float Barotrauma.Items.Components.PowerContainer.Charge
getset

◆ ChargePercentage

float Barotrauma.Items.Components.PowerContainer.ChargePercentage
get

◆ CurrPowerOutput

float Barotrauma.Items.Components.PowerContainer.CurrPowerOutput
get

◆ Efficiency

float Barotrauma.Items.Components.PowerContainer.Efficiency
getset

◆ ExponentialRechargeSpeed

bool Barotrauma.Items.Components.PowerContainer.ExponentialRechargeSpeed
getset

◆ FlipIndicator

bool Barotrauma.Items.Components.PowerContainer.FlipIndicator
getset

◆ HasBeenTuned

bool Barotrauma.Items.Components.PowerContainer.HasBeenTuned
get

◆ IndicatorPosition

Vector2 Barotrauma.Items.Components.PowerContainer.IndicatorPosition
getset

◆ IndicatorSize

Vector2 Barotrauma.Items.Components.PowerContainer.IndicatorSize
getset

◆ IsHorizontal

bool Barotrauma.Items.Components.PowerContainer.IsHorizontal
getset

◆ MaxOutPut

float Barotrauma.Items.Components.PowerContainer.MaxOutPut
getset

◆ MaxRechargeSpeed

float Barotrauma.Items.Components.PowerContainer.MaxRechargeSpeed
getset

◆ OutputDisabled

bool Barotrauma.Items.Components.PowerContainer.OutputDisabled
get

◆ Priority

override PowerPriority Barotrauma.Items.Components.PowerContainer.Priority
getprotected

◆ RechargeRatio

float Barotrauma.Items.Components.PowerContainer.RechargeRatio
get

◆ RechargeSpeed

float Barotrauma.Items.Components.PowerContainer.RechargeSpeed
getset

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