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);
|
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()
|
public override void Shutdown()
|
||||||
{
|
{
|
||||||
CommandBinds.Unregister<ClientInventorySystem>();
|
CommandBinds.Unregister<ClientInventorySystem>();
|
||||||
@@ -261,7 +268,6 @@ namespace Content.Client.Inventory
|
|||||||
TryAddSlotData((ent.Owner, inventorySlots), (SlotData)slot);
|
TryAddSlotData((ent.Owner, inventorySlots), (SlotData)slot);
|
||||||
}
|
}
|
||||||
|
|
||||||
_clothingVisualsSystem.InitClothing(ent, ent.Comp);
|
|
||||||
if (ent.Owner == _playerManager.LocalEntity)
|
if (ent.Owner == _playerManager.LocalEntity)
|
||||||
ReloadInventory(inventorySlots);
|
ReloadInventory(inventorySlots);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -194,8 +194,6 @@ public abstract partial class InventorySystem
|
|||||||
if (triggerHandContact && !((slotDefinition.SlotFlags & SlotFlags.GLOVES) == 0))
|
if (triggerHandContact && !((slotDefinition.SlotFlags & SlotFlags.GLOVES) == 0))
|
||||||
TriggerHandContactInteraction(target);
|
TriggerHandContactInteraction(target);
|
||||||
|
|
||||||
Dirty(target, inventory);
|
|
||||||
|
|
||||||
_movementSpeed.RefreshMovementSpeedModifiers(target);
|
_movementSpeed.RefreshMovementSpeedModifiers(target);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -487,8 +485,6 @@ public abstract partial class InventorySystem
|
|||||||
if (triggerHandContact && !((slotDefinition.SlotFlags & SlotFlags.GLOVES) == 0))
|
if (triggerHandContact && !((slotDefinition.SlotFlags & SlotFlags.GLOVES) == 0))
|
||||||
TriggerHandContactInteraction(target);
|
TriggerHandContactInteraction(target);
|
||||||
|
|
||||||
Dirty(target, inventory);
|
|
||||||
|
|
||||||
_movementSpeed.RefreshMovementSpeedModifiers(target);
|
_movementSpeed.RefreshMovementSpeedModifiers(target);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ public partial class InventorySystem : EntitySystem
|
|||||||
Dirty(target, targetComp);
|
Dirty(target, targetComp);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnInit(Entity<InventoryComponent> ent, ref ComponentInit args)
|
protected virtual void OnInit(Entity<InventoryComponent> ent, ref ComponentInit args)
|
||||||
{
|
{
|
||||||
UpdateInventoryTemplate(ent);
|
UpdateInventoryTemplate(ent);
|
||||||
}
|
}
|
||||||
@@ -111,6 +111,9 @@ public partial class InventorySystem : EntitySystem
|
|||||||
container.OccludesLight = false;
|
container.OccludesLight = false;
|
||||||
ent.Comp.Containers[i] = container;
|
ent.Comp.Containers[i] = container;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var ev = new InventoryTemplateUpdated();
|
||||||
|
RaiseLocalEvent(ent, ref ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnOpenSlotStorage(OpenSlotStorageNetworkMessage ev, EntitySessionEventArgs args)
|
private void OnOpenSlotStorage(OpenSlotStorageNetworkMessage ev, EntitySessionEventArgs args)
|
||||||
|
|||||||
Reference in New Issue
Block a user