Barotrauma Client Doc
Barotrauma.Items.Components.Reactor Class Reference
Inheritance diagram for Barotrauma.Items.Components.Reactor:
Barotrauma.Items.Components.Powered Barotrauma.Networking.IServerSerializable Barotrauma.Networking.IClientSerializable Barotrauma.Items.Components.Powered Barotrauma.Networking.IServerSerializable Barotrauma.Networking.IClientSerializable Barotrauma.Networking.INetSerializable Barotrauma.Networking.INetSerializable Barotrauma.Items.Components.ItemComponent Barotrauma.Items.Components.ItemComponent Barotrauma.Networking.INetSerializable Barotrauma.Networking.INetSerializable Barotrauma.Items.Components.ItemComponent Barotrauma.Items.Components.ItemComponent

Public Member Functions

 Reactor (Item item, ContentXElement element)
 
override void Update (float deltaTime, Camera cam)
 
override float GetCurrentPowerConsumption (Connection connection=null)
 Returns a negative value (indicating the reactor generates power) when querying the power output connection. More...
 
override PowerRange MinMaxPowerOut (Connection conn, float load)
 Min and Max power output of the reactor based on tolerance More...
 
override float GetConnectionPowerOut (Connection conn, float power, PowerRange minMaxPower, float load)
 Determine how much power to output based on the load. The load is divided between reactors according to their maximum output in multi-reactor setups. More...
 
void UpdateAutoTemp (float speed, float deltaTime)
 
void PowerUpImmediately ()
 
override void UpdateBroken (float deltaTime, Camera cam)
 
override bool Pick (Character picker)
 a Character has picked the item More...
 
override bool CrewAIOperate (float deltaTime, Character character, AIObjectiveOperateItem objective)
 
Returns
true if the operation was completed
More...
 
override void OnMapLoaded ()
 Called when all items have been loaded. Use to initialize connections between items. More...
 
override void ReceiveSignal (Signal signal, Connection connection)
 
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 UpdateHUDComponentSpecific (Character character, float deltaTime, Camera cam)
 
void ClientEventWrite (IWriteMessage msg, NetEntityEvent.IData extraData=null)
 
void ClientEventRead (IReadMessage msg, float sendingTime)
 
- Public Member Functions inherited from Barotrauma.Items.Components.Powered
 Powered (Item item, ContentXElement element)
 
override void Update (float deltaTime, Camera cam)
 
virtual void GridResolved (Connection conn)
 Can be overridden to perform updates for the device after the connected grid has resolved its power calculations, i.e. storing voltage for later updates More...
 
- 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 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)
 
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. More...
 
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)
 
virtual void OnScaleChanged ()
 
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 UpdateEditing (float deltaTime)
 
virtual void CreateEditingHUD (SerializableEntityEditor editor)
 
virtual void OnPlayerSkillsChanged ()
 
virtual void AddTooltipInfo (ref LocalizedString name, ref LocalizedString description)
 

Protected Member Functions

override void CreateGUI ()
 Overload this method and implement. The method is automatically called when the resolution changes. More...
 
override void RemoveComponentSpecific ()
 
- 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 More...
 
IEnumerable< PowerContainerGetDirectlyConnectedBatteries ()
 
- 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 ()
 
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

bool AllowTemperatureBoost [get]
 
bool PowerOn [get, set]
 
override PowerPriority Priority [get]
 
Character LastAIUser [get]
 
bool LastUserWasPlayer [get]
 
Character LastUser [get]
 
float MaxPowerOutput [get, set]
 
float MeltdownDelay [get, set]
 
float FireDelay [get, set]
 
float Temperature [get, set]
 
float FissionRate [get, set]
 
float TurbineOutput [get, set]
 
float FuelConsumptionRate [get, set]
 
bool TemperatureCritical [get, set]
 
bool AutoTemp [get, set]
 
float AvailableFuel [get, set]
 
new float Load [get]
 
float TargetFissionRate [get, set]
 
float TargetTurbineOutput [get, set]
 
float CorrectTurbineOutput [get, set]
 
bool ExplosionDamagesOtherSubs [get, set]
 
bool MeltedDownThisRound [get]
 
GUIButton AutoTempSwitch [get]
 
GUIButton PowerButton [get]
 
GUIScrollBar FissionRateScrollBar [get]
 
GUIScrollBar TurbineOutputScrollBar [get]
 
override bool RecreateGUIOnResolutionChange [get]
 
bool TriggerInfographic [get, set]
 
bool IsInfographicVisible [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 More...
 
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. 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]
 

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 More...
 
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 More...
 
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
 
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
 
- 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 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 More...
 
float powerConsumption
 The maximum amount of power the item can draw from connected items More...
 
Connection powerIn
 
- 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.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 More...
 
- Static Protected Attributes inherited from Barotrauma.Items.Components.ItemComponent
const float CorrectionDelay = 1.0f
 
const float AIUpdateInterval = 0.2f
 

Detailed Description

Constructor & Destructor Documentation

◆ Reactor()

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

Member Function Documentation

◆ ClientEventRead()

void Barotrauma.Items.Components.Reactor.ClientEventRead ( IReadMessage  msg,
float  sendingTime 
)

◆ ClientEventWrite()

void Barotrauma.Items.Components.Reactor.ClientEventWrite ( IWriteMessage  msg,
NetEntityEvent.IData  extraData = null 
)

◆ CreateGUI()

override void Barotrauma.Items.Components.Reactor.CreateGUI ( )
protectedvirtual

Overload this method and implement. The method is automatically called when the resolution changes.

Reimplemented from Barotrauma.Items.Components.ItemComponent.

Definition at line 104 of file BarotraumaClient/ClientSource/Items/Components/Machines/Reactor.cs.

◆ CrewAIOperate()

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

Returns
true if the operation was completed

Reimplemented from Barotrauma.Items.Components.ItemComponent.

Definition at line 677 of file BarotraumaShared/SharedSource/Items/Components/Machines/Reactor.cs.

◆ GetConnectionPowerOut()

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

Determine how much power to output based on the load. The load is divided between reactors according to their maximum output in multi-reactor setups.

Reimplemented from Barotrauma.Items.Components.Powered.

Definition at line 452 of file BarotraumaShared/SharedSource/Items/Components/Machines/Reactor.cs.

◆ GetCurrentPowerConsumption()

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

Returns a negative value (indicating the reactor generates power) when querying the power output connection.

Reimplemented from Barotrauma.Items.Components.Powered.

Definition at line 416 of file BarotraumaShared/SharedSource/Items/Components/Machines/Reactor.cs.

◆ MinMaxPowerOut()

override PowerRange Barotrauma.Items.Components.Reactor.MinMaxPowerOut ( Connection  conn,
float  load 
)
virtual

Min and Max power output of the reactor based on tolerance

Reimplemented from Barotrauma.Items.Components.Powered.

Definition at line 424 of file BarotraumaShared/SharedSource/Items/Components/Machines/Reactor.cs.

◆ OnItemLoaded()

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

Definition at line 500 of file BarotraumaClient/ClientSource/Items/Components/Machines/Reactor.cs.

◆ OnMapLoaded()

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

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

Reimplemented from Barotrauma.Items.Components.ItemComponent.

Definition at line 835 of file BarotraumaShared/SharedSource/Items/Components/Machines/Reactor.cs.

◆ Pick()

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

◆ PowerUpImmediately()

void Barotrauma.Items.Components.Reactor.PowerUpImmediately ( )

◆ ReceiveSignal()

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

◆ RemoveComponentSpecific()

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

◆ Update()

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

◆ UpdateAutoTemp()

void Barotrauma.Items.Components.Reactor.UpdateAutoTemp ( float  speed,
float  deltaTime 
)

◆ UpdateBroken()

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

◆ UpdateHUDComponentSpecific()

override void Barotrauma.Items.Components.Reactor.UpdateHUDComponentSpecific ( Character  character,
float  deltaTime,
Camera  cam 
)
virtual

Property Documentation

◆ AllowTemperatureBoost

bool Barotrauma.Items.Components.Reactor.AllowTemperatureBoost
get

◆ AutoTemp

bool Barotrauma.Items.Components.Reactor.AutoTemp
getset

◆ AutoTempSwitch

GUIButton Barotrauma.Items.Components.Reactor.AutoTempSwitch
get

◆ AvailableFuel

float Barotrauma.Items.Components.Reactor.AvailableFuel
getset

◆ CorrectTurbineOutput

float Barotrauma.Items.Components.Reactor.CorrectTurbineOutput
getset

◆ ExplosionDamagesOtherSubs

bool Barotrauma.Items.Components.Reactor.ExplosionDamagesOtherSubs
getset

◆ FireDelay

float Barotrauma.Items.Components.Reactor.FireDelay
getset

◆ FissionRate

float Barotrauma.Items.Components.Reactor.FissionRate
getset

◆ FissionRateScrollBar

GUIScrollBar Barotrauma.Items.Components.Reactor.FissionRateScrollBar
get

◆ FuelConsumptionRate

float Barotrauma.Items.Components.Reactor.FuelConsumptionRate
getset

◆ IsInfographicVisible

bool Barotrauma.Items.Components.Reactor.IsInfographicVisible
get

◆ LastAIUser

Character Barotrauma.Items.Components.Reactor.LastAIUser
get

◆ LastUser

Character Barotrauma.Items.Components.Reactor.LastUser
get

◆ LastUserWasPlayer

bool Barotrauma.Items.Components.Reactor.LastUserWasPlayer
get

◆ Load

new float Barotrauma.Items.Components.Reactor.Load
get

◆ MaxPowerOutput

float Barotrauma.Items.Components.Reactor.MaxPowerOutput
getset

◆ MeltdownDelay

float Barotrauma.Items.Components.Reactor.MeltdownDelay
getset

◆ MeltedDownThisRound

bool Barotrauma.Items.Components.Reactor.MeltedDownThisRound
get

◆ PowerButton

GUIButton Barotrauma.Items.Components.Reactor.PowerButton
get

◆ PowerOn

bool Barotrauma.Items.Components.Reactor.PowerOn
getset

◆ Priority

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

◆ RecreateGUIOnResolutionChange

override bool Barotrauma.Items.Components.Reactor.RecreateGUIOnResolutionChange
get

◆ TargetFissionRate

float Barotrauma.Items.Components.Reactor.TargetFissionRate
getset

◆ TargetTurbineOutput

float Barotrauma.Items.Components.Reactor.TargetTurbineOutput
getset

◆ Temperature

float Barotrauma.Items.Components.Reactor.Temperature
getset

◆ TemperatureCritical

bool Barotrauma.Items.Components.Reactor.TemperatureCritical
getset

◆ TriggerInfographic

bool Barotrauma.Items.Components.Reactor.TriggerInfographic
getset

◆ TurbineOutput

float Barotrauma.Items.Components.Reactor.TurbineOutput
getset

◆ TurbineOutputScrollBar

GUIScrollBar Barotrauma.Items.Components.Reactor.TurbineOutputScrollBar
get