(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:
Joonas Rikkonen
2019-04-10 13:21:45 +03:00
parent 25453018fc
commit 5a7abc430c
@@ -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)