Added "state_out" connections to relay components
This commit is contained in:
@@ -249,7 +249,8 @@
|
||||
|
||||
<output name="power_out"/>
|
||||
<output name="signal_out1"/>
|
||||
<output name="signal_out2"/>
|
||||
<output name="signal_out2"/>
|
||||
<output name="state_out"/>
|
||||
</ConnectionPanel>
|
||||
</Item>
|
||||
|
||||
|
||||
@@ -30,6 +30,12 @@ namespace Barotrauma.Items.Components
|
||||
get { return powerLoad; }
|
||||
}
|
||||
|
||||
//can the component transfer power
|
||||
public virtual bool CanTransfer
|
||||
{
|
||||
get { return IsActive; }
|
||||
}
|
||||
|
||||
public PowerTransfer(Item item, XElement element)
|
||||
: base(item, element)
|
||||
{
|
||||
@@ -40,6 +46,8 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
public override void Update(float deltaTime, Camera cam)
|
||||
{
|
||||
if (!CanTransfer) return;
|
||||
|
||||
if (updateTimer > 0)
|
||||
{
|
||||
//this junction box has already been updated this frame
|
||||
@@ -135,6 +143,7 @@ namespace Barotrauma.Items.Components
|
||||
PowerTransfer powerTransfer = powered as PowerTransfer;
|
||||
if (powerTransfer != null)
|
||||
{
|
||||
if (!powerTransfer.CanTransfer) continue;
|
||||
powerTransfer.CheckJunctions(deltaTime);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@ namespace Barotrauma.Items.Components
|
||||
{
|
||||
private float maxPower;
|
||||
|
||||
private bool isOn;
|
||||
|
||||
[Editable, HasDefaultValue(1000.0f, true)]
|
||||
public float MaxPower
|
||||
{
|
||||
@@ -18,31 +20,36 @@ namespace Barotrauma.Items.Components
|
||||
maxPower = Math.Max(0.0f, value);
|
||||
}
|
||||
}
|
||||
|
||||
private bool isOn;
|
||||
|
||||
|
||||
[Editable, HasDefaultValue(false, true)]
|
||||
public bool IsOn
|
||||
{
|
||||
get
|
||||
{
|
||||
return IsActive;
|
||||
return isOn;
|
||||
}
|
||||
set
|
||||
{
|
||||
isOn = value;
|
||||
IsActive = value;
|
||||
if (!IsActive)
|
||||
if (!isOn)
|
||||
{
|
||||
currPowerConsumption = 0.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override bool CanTransfer
|
||||
{
|
||||
get
|
||||
{
|
||||
return isOn;
|
||||
}
|
||||
}
|
||||
|
||||
public RelayComponent(Item item, XElement element)
|
||||
: base (item, element)
|
||||
{
|
||||
IsActive = isOn;
|
||||
IsActive = true;
|
||||
}
|
||||
|
||||
public override void Update(float deltaTime, Camera cam)
|
||||
|
||||
Reference in New Issue
Block a user