Fix inventory flickering and missing InventoryTemplateUpdated event (#39379)
* fix flickering * move InitClothing * fix this
This commit is contained in:
@@ -115,6 +115,13 @@ namespace Content.Client.Inventory
|
||||
OnLinkInventorySlots?.Invoke(uid, component);
|
||||
}
|
||||
|
||||
protected override void OnInit(Entity<InventoryComponent> ent, ref ComponentInit args)
|
||||
{
|
||||
base.OnInit(ent, ref args);
|
||||
|
||||
_clothingVisualsSystem.InitClothing(ent.Owner, ent.Comp);
|
||||
}
|
||||
|
||||
public override void Shutdown()
|
||||
{
|
||||
CommandBinds.Unregister<ClientInventorySystem>();
|
||||
@@ -261,7 +268,6 @@ namespace Content.Client.Inventory
|
||||
TryAddSlotData((ent.Owner, inventorySlots), (SlotData)slot);
|
||||
}
|
||||
|
||||
_clothingVisualsSystem.InitClothing(ent, ent.Comp);
|
||||
if (ent.Owner == _playerManager.LocalEntity)
|
||||
ReloadInventory(inventorySlots);
|
||||
}
|
||||
|
||||
@@ -194,8 +194,6 @@ public abstract partial class InventorySystem
|
||||
if (triggerHandContact && !((slotDefinition.SlotFlags & SlotFlags.GLOVES) == 0))
|
||||
TriggerHandContactInteraction(target);
|
||||
|
||||
Dirty(target, inventory);
|
||||
|
||||
_movementSpeed.RefreshMovementSpeedModifiers(target);
|
||||
|
||||
return true;
|
||||
@@ -487,8 +485,6 @@ public abstract partial class InventorySystem
|
||||
if (triggerHandContact && !((slotDefinition.SlotFlags & SlotFlags.GLOVES) == 0))
|
||||
TriggerHandContactInteraction(target);
|
||||
|
||||
Dirty(target, inventory);
|
||||
|
||||
_movementSpeed.RefreshMovementSpeedModifiers(target);
|
||||
|
||||
return true;
|
||||
|
||||
@@ -74,7 +74,7 @@ public partial class InventorySystem : EntitySystem
|
||||
Dirty(target, targetComp);
|
||||
}
|
||||
|
||||
private void OnInit(Entity<InventoryComponent> ent, ref ComponentInit args)
|
||||
protected virtual void OnInit(Entity<InventoryComponent> ent, ref ComponentInit args)
|
||||
{
|
||||
UpdateInventoryTemplate(ent);
|
||||
}
|
||||
@@ -111,6 +111,9 @@ public partial class InventorySystem : EntitySystem
|
||||
container.OccludesLight = false;
|
||||
ent.Comp.Containers[i] = container;
|
||||
}
|
||||
|
||||
var ev = new InventoryTemplateUpdated();
|
||||
RaiseLocalEvent(ent, ref ev);
|
||||
}
|
||||
|
||||
private void OnOpenSlotStorage(OpenSlotStorageNetworkMessage ev, EntitySessionEventArgs args)
|
||||
|
||||
Reference in New Issue
Block a user