(5d7e5eb93) Rewiring the door changes it's behavior. TODO: Might be better to implement as two separate type of doors?
This commit is contained in:
@@ -251,6 +251,31 @@ namespace Barotrauma.Items.Components
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO: use separate door variants and remove this?
|
||||
private bool isWired = true;
|
||||
private void SetWired(bool value)
|
||||
{
|
||||
if (isWired == value) { return; }
|
||||
isWired = value;
|
||||
if (isWired)
|
||||
{
|
||||
requiredItems.Clear();
|
||||
RelatedItem ri = new RelatedItem(new string[] { "crowbar" }, new string[] { });
|
||||
requiredItems.Add(RelatedItem.RelationType.Equipped, new List<RelatedItem>());
|
||||
requiredItems[RelatedItem.RelationType.Equipped].Add(ri);
|
||||
Msg = "ItemMsgForceOpenCrowbar";
|
||||
ParseMsg();
|
||||
PickingTime = 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
requiredItems.Clear();
|
||||
Msg = "ItemMsgOpen";
|
||||
ParseMsg();
|
||||
PickingTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public override void Update(float deltaTime, Camera cam)
|
||||
{
|
||||
if (isBroken)
|
||||
@@ -262,6 +287,17 @@ namespace Barotrauma.Items.Components
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (item.Connections != null)
|
||||
{
|
||||
if (item.Connections.Any(ic => ic.Recipients.Any()))
|
||||
{
|
||||
SetWired(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetWired(false);
|
||||
}
|
||||
}
|
||||
|
||||
bool isClosing = false;
|
||||
if (!isStuck)
|
||||
|
||||
Reference in New Issue
Block a user