Build 0.18.4.0
This commit is contained in:
@@ -203,7 +203,7 @@ namespace Barotrauma.Items.Components
|
||||
private float lastMuffleCheckTime;
|
||||
private ItemSound loopingSound;
|
||||
private SoundChannel loopingSoundChannel;
|
||||
private List<SoundChannel> playingOneshotSoundChannels = new List<SoundChannel>();
|
||||
private readonly List<SoundChannel> playingOneshotSoundChannels = new List<SoundChannel>();
|
||||
public ItemComponent ReplacedBy;
|
||||
|
||||
public ItemComponent GetReplacementOrThis()
|
||||
@@ -211,13 +211,16 @@ namespace Barotrauma.Items.Components
|
||||
return ReplacedBy?.GetReplacementOrThis() ?? this;
|
||||
}
|
||||
|
||||
public bool NeedsSoundUpdate()
|
||||
{
|
||||
if (hasSoundsOfType[(int)ActionType.Always]) { return true; }
|
||||
if (loopingSoundChannel != null && loopingSoundChannel.IsPlaying) { return true; }
|
||||
if (playingOneshotSoundChannels.Count > 0) { return true; }
|
||||
return false;
|
||||
}
|
||||
|
||||
public void UpdateSounds()
|
||||
{
|
||||
if (!isActive || item.Condition <= 0.0f)
|
||||
{
|
||||
StopSounds(ActionType.OnActive);
|
||||
}
|
||||
|
||||
if (loopingSound != null && loopingSoundChannel != null && loopingSoundChannel.IsPlaying)
|
||||
{
|
||||
if (Timing.TotalTime > lastMuffleCheckTime + 0.2f)
|
||||
@@ -280,6 +283,7 @@ namespace Barotrauma.Items.Components
|
||||
loopingSound.RoundSound.GetRandomFrequencyMultiplier(),
|
||||
SoundPlayer.ShouldMuffleSound(Character.Controlled, item.WorldPosition, loopingSound.Range, Character.Controlled?.CurrentHull));
|
||||
loopingSoundChannel.Looping = true;
|
||||
item.CheckNeedsSoundUpdate(this);
|
||||
//TODO: tweak
|
||||
loopingSoundChannel.Near = loopingSound.Range * 0.4f;
|
||||
loopingSoundChannel.Far = loopingSound.Range;
|
||||
@@ -298,7 +302,6 @@ namespace Barotrauma.Items.Components
|
||||
loopingSound = null;
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -333,6 +336,7 @@ namespace Barotrauma.Items.Components
|
||||
}
|
||||
|
||||
PlaySound(matchingSounds[index], item.WorldPosition);
|
||||
item.CheckNeedsSoundUpdate(this);
|
||||
}
|
||||
}
|
||||
private void PlaySound(ItemSound itemSound, Vector2 position)
|
||||
|
||||
@@ -108,6 +108,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
itemList = new GUIListBox(new RectTransform(new Vector2(1f, 0.9f), paddedItemFrame.RectTransform), style: null)
|
||||
{
|
||||
PlaySoundOnSelect = true,
|
||||
OnSelected = (component, userdata) =>
|
||||
{
|
||||
selectedItem = userdata as FabricationRecipe;
|
||||
|
||||
@@ -333,6 +333,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
GUIListBox listBox = new GUIListBox(new RectTransform(Vector2.One, searchAutoComplete.RectTransform))
|
||||
{
|
||||
PlaySoundOnSelect = true,
|
||||
OnSelected = (component, o) =>
|
||||
{
|
||||
if (o is ItemPrefab prefab)
|
||||
@@ -744,11 +745,11 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
if (key == Keys.Down)
|
||||
{
|
||||
listBox.SelectNext(true, autoScroll: true);
|
||||
listBox.SelectNext(force: GUIListBox.Force.Yes, playSelectSound: GUIListBox.PlaySelectSound.Yes);
|
||||
}
|
||||
else if (key == Keys.Up)
|
||||
{
|
||||
listBox.SelectPrevious(true, autoScroll: true);
|
||||
listBox.SelectPrevious(force: GUIListBox.Force.Yes, playSelectSound: GUIListBox.PlaySelectSound.Yes);
|
||||
}
|
||||
else if (key == Keys.Enter)
|
||||
{
|
||||
@@ -782,7 +783,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
if (component.Visible && first)
|
||||
{
|
||||
listBox.Select(i, force: true, autoScroll: false);
|
||||
listBox.Select(i, GUIListBox.Force.Yes, GUIListBox.AutoScroll.Disabled);
|
||||
first = false;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ namespace Barotrauma.Items.Components
|
||||
}
|
||||
|
||||
GuiFrame = selectionUI.GuiFrame;
|
||||
selectionUI.RefreshSubmarineDisplay(true);
|
||||
selectionUI.RefreshSubmarineDisplay(true, setTransferOptionToTrue: true);
|
||||
IsActive = true;
|
||||
return base.Select(character);
|
||||
}
|
||||
|
||||
@@ -927,6 +927,8 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
bool autoPilot = msg.ReadBoolean();
|
||||
bool dockingButtonClicked = msg.ReadBoolean();
|
||||
ushort userID = msg.ReadUInt16();
|
||||
|
||||
Vector2 newSteeringInput = steeringInput;
|
||||
Vector2 newTargetVelocity = targetVelocity;
|
||||
float newSteeringAdjustSpeed = steeringAdjustSpeed;
|
||||
@@ -935,7 +937,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
if (dockingButtonClicked)
|
||||
{
|
||||
item.SendSignal("1", "toggle_docking");
|
||||
item.SendSignal(new Signal("1", sender: Entity.FindEntityByID(userID) as Character), "toggle_docking");
|
||||
}
|
||||
|
||||
if (autoPilot)
|
||||
|
||||
@@ -40,8 +40,6 @@ namespace Barotrauma.Items.Components
|
||||
}
|
||||
}
|
||||
|
||||
private LightComponent lightComponent;
|
||||
|
||||
public void Draw(SpriteBatch spriteBatch, bool editing, float itemDepth = -1)
|
||||
{
|
||||
for (var i = 0; i < GrowableSeeds.Length; i++)
|
||||
|
||||
@@ -418,7 +418,7 @@ namespace Barotrauma.Items.Components
|
||||
|
||||
if (!GameMain.IsMultiplayer) { RepairBoost(qteSuccess); }
|
||||
|
||||
SoundPlayer.PlayUISound(qteSuccess ? GUISoundType.IncreaseQuantity : GUISoundType.DecreaseQuantity);
|
||||
SoundPlayer.PlayUISound(qteSuccess ? GUISoundType.Increase : GUISoundType.Decrease);
|
||||
|
||||
//on failure during cooldown reset cursor to beginning
|
||||
if (!qteSuccess && qteCooldown > 0.0f) { qteTimer = QteDuration; }
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace Barotrauma.Items.Components
|
||||
GUITextBlock newBlock = new GUITextBlock(
|
||||
new RectTransform(new Vector2(1, 0), historyBox.Content.RectTransform, anchor: Anchor.TopCenter),
|
||||
"> " + input,
|
||||
textColor: color, wrap: true, font: UseMonospaceFont ? GUIStyle.MonospacedFont : GUIStyle.GlobalFont)
|
||||
textColor: color, wrap: true, font: UseMonospaceFont ? GUIStyle.MonospacedFont : GUIStyle.Font)
|
||||
{
|
||||
CanBeFocused = false
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user