Don't play storage fill sounds on mapinit (#10653)

This commit is contained in:
metalgearsloth
2022-08-18 12:34:52 +10:00
committed by GitHub
parent 1d875ec5b2
commit 2b916391ca
2 changed files with 8 additions and 7 deletions

View File

@@ -8,7 +8,6 @@ public sealed partial class StorageSystem
private void OnStorageFillMapInit(EntityUid uid, StorageFillComponent component, MapInitEvent args)
{
if (component.Contents.Count == 0) return;
if (!EntityManager.EntitySysManager.TryGetEntitySystem<EntityStorageSystem>(out var entityStorage)) return;
TryComp<ServerStorageComponent>(uid, out var serverStorageComp);
TryComp<EntityStorageComponent>(uid, out var entityStorageComp);
@@ -27,10 +26,10 @@ public sealed partial class StorageSystem
var ent = EntityManager.SpawnEntity(item, coordinates);
// handle depending on storage component, again this should be unified after ECS
if (entityStorageComp != null && entityStorage.Insert(ent, uid))
if (entityStorageComp != null && _entityStorage.Insert(ent, uid))
continue;
if (serverStorageComp != null && Insert(uid, ent, serverStorageComp))
if (serverStorageComp != null && Insert(uid, ent, serverStorageComp, false))
continue;
Logger.ErrorS("storage", $"Tried to StorageFill {item} inside {ToPrettyString(uid)} but can't.");

View File

@@ -47,6 +47,7 @@ namespace Content.Server.Storage.EntitySystems
[Dependency] private readonly SharedInteractionSystem _sharedInteractionSystem = default!;
[Dependency] private readonly UserInterfaceSystem _uiSystem = default!;
[Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
/// <inheritdoc />
public override void Initialize()
@@ -529,9 +530,8 @@ namespace Content.Server.Storage.EntitySystems
/// <summary>
/// Inserts into the storage container
/// </summary>
/// <param name="entity">The entity to insert</param>
/// <returns>true if the entity was inserted, false otherwise</returns>
public bool Insert(EntityUid uid, EntityUid insertEnt, ServerStorageComponent? storageComp = null)
public bool Insert(EntityUid uid, EntityUid insertEnt, ServerStorageComponent? storageComp = null, bool playSound = true)
{
if (!Resolve(uid, ref storageComp))
return false;
@@ -539,8 +539,10 @@ namespace Content.Server.Storage.EntitySystems
if (!CanInsert(uid, insertEnt, out _, storageComp) || storageComp.Storage?.Insert(insertEnt) == false)
return false;
if (storageComp.StorageInsertSound is not null)
SoundSystem.Play(storageComp.StorageInsertSound.GetSound(), Filter.Pvs(uid, entityManager: EntityManager), uid, AudioParams.Default);
if (playSound && storageComp.StorageInsertSound is not null)
{
_audio.PlayPvs(storageComp.StorageInsertSound, uid);
}
RecalculateStorageUsed(storageComp);
UpdateStorageUI(uid, storageComp);