Players can't use other items when a railgun controller is selected. Prevents accidentally firing weapons or hitting people with something while using the railguns.

Closes #94
This commit is contained in:
Joonas Rikkonen
2017-12-15 00:25:46 +02:00
parent e17b5a195c
commit 8a7af2affd
3 changed files with 17 additions and 6 deletions

View File

@@ -36,11 +36,12 @@
category="Machine"
type="Controller"
linkable="true"
disableitemusagewhenselected="true"
>
<Sprite texture ="railgunetc.png" depth="0.8" sourcerect="182,0,61,97"/>
<Controller UserPos="-35.0, -50.0" direction ="Right" canbeselected = "true">
<Controller UserPos="-35.0, -50.0" direction ="Right" canbeselected="true">
<limbposition limb="Head" position="-5,-62"/>
<limbposition limb="Torso" position="-5,-108"/>
<limbposition limb="LeftHand" position="43,-85"/>

View File

@@ -926,13 +926,16 @@ namespace Barotrauma
}
}
for (int i = 0; i < selectedItems.Length; i++ )
if (SelectedConstruction == null || !SelectedConstruction.Prefab.DisableItemUsageWhenSelected)
{
if (selectedItems[i] == null) continue;
if (i == 1 && selectedItems[0] == selectedItems[1]) continue;
for (int i = 0; i < selectedItems.Length; i++ )
{
if (selectedItems[i] == null) continue;
if (i == 1 && selectedItems[0] == selectedItems[1]) continue;
if (IsKeyDown(InputType.Use)) selectedItems[i].Use(deltaTime, this);
if (IsKeyDown(InputType.Aim) && selectedItems[i] != null) selectedItems[i].SecondaryUse(deltaTime, this);
if (IsKeyDown(InputType.Use)) selectedItems[i].Use(deltaTime, this);
if (IsKeyDown(InputType.Aim) && selectedItems[i] != null) selectedItems[i].SecondaryUse(deltaTime, this);
}
}
if (selectedConstruction != null)

View File

@@ -134,6 +134,13 @@ namespace Barotrauma
private set;
}
[Serialize(false, false)]
public bool DisableItemUsageWhenSelected
{
get;
private set;
}
public bool CanSpriteFlipX
{
get { return canSpriteFlipX; }